TPTP Problem File: ITP109^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP109^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer Lower_Semicontinuous problem prob_1098__6259092_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : Lower_Semicontinuous/prob_1098__6259092_1 [Des21]

% Status   : Theorem
% Rating   : 0.33 v8.1.0, 0.25 v7.5.0
% Syntax   : Number of formulae    :  417 ( 131 unt;  65 typ;   0 def)
%            Number of atoms       :  812 ( 325 equ;   0 cnn)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 4226 (  74   ~;  10   |;  45   &;3738   @)
%                                         (   0 <=>; 359  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   22 (   6 avg)
%            Number of types       :    6 (   5 usr)
%            Number of type conns  :  129 ( 129   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   63 (  60 usr;   6 con; 0-4 aty)
%            Number of variables   : 1058 (  87   ^; 903   !;  16   ?;1058   :)
%                                         (  52  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:28:51.464
%------------------------------------------------------------------------------
% Could-be-implicit typings (6)
thf(ty_t_Extended__Real_Oereal,type,
    extended_ereal: $tType ).

thf(ty_t_Real_Oreal,type,
    real: $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_t_Nat_Onat,type,
    nat: $tType ).

thf(ty_tf_b,type,
    b: $tType ).

thf(ty_tf_a,type,
    a: $tType ).

% Explicit typings (59)
thf(sy_cl_HOL_Otype,type,
    type: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oone,type,
    one: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Oring,type,
    ring: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oplus,type,
    plus: 
      !>[A: $tType] : $o ).

thf(sy_cl_Fields_Ofield,type,
    field: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ominus,type,
    minus: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Otimes,type,
    times: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Oring__1,type,
    ring_1: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Osemiring,type,
    semiring: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Ocomm__ring,type,
    comm_ring: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ogroup__add,type,
    group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Osemiring__0,type,
    semiring_0: 
      !>[A: $tType] : $o ).

thf(sy_cl_Finite__Set_Ofinite,type,
    finite_finite: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Omonoid__mult,type,
    monoid_mult: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oab__group__add,type,
    ab_group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Ocomm__semiring,type,
    comm_semiring: 
      !>[A: $tType] : $o ).

thf(sy_cl_Fields_Odivision__ring,type,
    division_ring: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Osemigroup__add,type,
    semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Parity_Osemiring__bits,type,
    semiring_bits: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Osemidom__divide,type,
    semidom_divide: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Osemigroup__mult,type,
    semigroup_mult: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocomm__monoid__add,type,
    comm_monoid_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oab__semigroup__add,type,
    ab_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocomm__monoid__mult,type,
    comm_monoid_mult: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oab__semigroup__mult,type,
    ab_semigroup_mult: 
      !>[A: $tType] : $o ).

thf(sy_cl_Real__Vector__Spaces_OscaleR,type,
    real_Vector_scaleR: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__semigroup__add,type,
    cancel_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Ocomm__semiring__1__cancel,type,
    comm_s1003936772cancel: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
    cancel1352612707id_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__ab__semigroup__add,type,
    cancel146912293up_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Real__Vector__Spaces_Oreal__vector,type,
    real_V1076094709vector: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
    ordere779506340up_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Real__Vector__Spaces_Oreal__algebra,type,
    real_V148923926lgebra: 
      !>[A: $tType] : $o ).

thf(sy_cl_Real__Vector__Spaces_Oreal__div__algebra,type,
    real_V1015715145lgebra: 
      !>[A: $tType] : $o ).

thf(sy_c_Convex_Oconvex,type,
    convex: 
      !>[A: $tType] : ( ( set @ A ) > $o ) ).

thf(sy_c_Fields_Oinverse__class_Oinverse,type,
    inverse_inverse: 
      !>[A: $tType] : ( A > A ) ).

thf(sy_c_Finite__Set_Ofinite,type,
    finite_finite2: 
      !>[A: $tType] : ( ( set @ A ) > $o ) ).

thf(sy_c_Groups_Ominus__class_Ominus,type,
    minus_minus: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Groups_Oone__class_Oone,type,
    one_one: 
      !>[A: $tType] : A ).

thf(sy_c_Groups_Oplus__class_Oplus,type,
    plus_plus: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Groups_Otimes__class_Otimes,type,
    times_times: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Groups__Big_Ocomm__monoid__add__class_Osum,type,
    groups1340683514dd_sum: 
      !>[B: $tType,A: $tType] : ( ( B > A ) > ( set @ B ) > A ) ).

thf(sy_c_If,type,
    if: 
      !>[A: $tType] : ( $o > A > A > A ) ).

thf(sy_c_Lower__Semicontinuous__Mirabelle__quczrylfpw_Oconvex__on,type,
    lower_673667120vex_on: 
      !>[A: $tType] : ( ( set @ A ) > ( A > extended_ereal ) > $o ) ).

thf(sy_c_Orderings_Obot__class_Obot,type,
    bot_bot: 
      !>[A: $tType] : A ).

thf(sy_c_Orderings_Oord__class_Oless__eq,type,
    ord_less_eq: 
      !>[A: $tType] : ( A > A > $o ) ).

thf(sy_c_Real__Vector__Spaces_OscaleR__class_OscaleR,type,
    real_V1908273582scaleR: 
      !>[A: $tType] : ( real > A > A ) ).

thf(sy_c_Rings_Odivide__class_Odivide,type,
    divide_divide: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_Set_Oinsert,type,
    insert: 
      !>[A: $tType] : ( A > ( set @ A ) > ( set @ A ) ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_C,type,
    c: set @ b ).

thf(sy_v_a,type,
    a2: a > real ).

thf(sy_v_aa____,type,
    aa: a > real ).

thf(sy_v_f,type,
    f: b > extended_ereal ).

thf(sy_v_i____,type,
    i: a ).

thf(sy_v_s,type,
    s: set @ a ).

thf(sy_v_sa____,type,
    sa: set @ a ).

thf(sy_v_y,type,
    y: a > b ).

% Relevant facts (255)
thf(fact_0_insert_Ohyps_I3_J,axiom,
    ~ ( member @ a @ i @ sa ) ).

% insert.hyps(3)
thf(fact_1_asm,axiom,
    ( ( aa @ i )
   != ( one_one @ real ) ) ).

% asm
thf(fact_2__092_060open_062_I_092_060Sum_062x_092_060in_062s_O_Aa_Ax_A_K_092_060_094sub_062R_Ay_Ax_A_P_092_060_094sub_062R_A_I1_A_N_Aa_Ai_J_J_A_061_A_I_092_060Sum_062j_092_060in_062s_O_Aa_Aj_A_K_092_060_094sub_062R_Ay_Aj_J_A_P_092_060_094sub_062R_A_I1_A_N_Aa_Ai_J_092_060close_062,axiom,
    ( ( groups1340683514dd_sum @ a @ b
      @ ^ [X: a] : ( real_V1908273582scaleR @ b @ ( inverse_inverse @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) ) @ ( real_V1908273582scaleR @ b @ ( aa @ X ) @ ( y @ X ) ) )
      @ sa )
    = ( real_V1908273582scaleR @ b @ ( inverse_inverse @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) )
      @ ( groups1340683514dd_sum @ a @ b
        @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
        @ sa ) ) ) ).

% \<open>(\<Sum>x\<in>s. a x *\<^sub>R y x /\<^sub>R (1 - a i)) = (\<Sum>j\<in>s. a j *\<^sub>R y j) /\<^sub>R (1 - a i)\<close>
thf(fact_3_insert_Ohyps_I2_J,axiom,
    ( sa
   != ( bot_bot @ ( set @ a ) ) ) ).

% insert.hyps(2)
thf(fact_4_insert_Ohyps_I1_J,axiom,
    finite_finite2 @ a @ sa ).

% insert.hyps(1)
thf(fact_5__092_060open_062f_A_I_I_092_060Sum_062j_092_060in_062s_O_Aa_Aj_A_K_092_060_094sub_062R_Ay_Aj_J_A_L_Aa_Ai_A_K_092_060_094sub_062R_Ay_Ai_J_A_061_Af_A_I_I_I1_A_N_Aa_Ai_J_A_K_Ainverse_A_I1_A_N_Aa_Ai_J_J_A_K_092_060_094sub_062R_A_I_092_060Sum_062j_092_060in_062s_O_Aa_Aj_A_K_092_060_094sub_062R_Ay_Aj_J_A_L_Aa_Ai_A_K_092_060_094sub_062R_Ay_Ai_J_092_060close_062,axiom,
    ( ( f
      @ ( plus_plus @ b
        @ ( groups1340683514dd_sum @ a @ b
          @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
          @ sa )
        @ ( real_V1908273582scaleR @ b @ ( aa @ i ) @ ( y @ i ) ) ) )
    = ( f
      @ ( plus_plus @ b
        @ ( real_V1908273582scaleR @ b @ ( times_times @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) @ ( inverse_inverse @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) ) )
          @ ( groups1340683514dd_sum @ a @ b
            @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
            @ sa ) )
        @ ( real_V1908273582scaleR @ b @ ( aa @ i ) @ ( y @ i ) ) ) ) ) ).

% \<open>f ((\<Sum>j\<in>s. a j *\<^sub>R y j) + a i *\<^sub>R y i) = f (((1 - a i) * inverse (1 - a i)) *\<^sub>R (\<Sum>j\<in>s. a j *\<^sub>R y j) + a i *\<^sub>R y i)\<close>
thf(fact_6_calculation,axiom,
    ( ( f
      @ ( groups1340683514dd_sum @ a @ b
        @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
        @ ( insert @ a @ i @ sa ) ) )
    = ( f
      @ ( plus_plus @ b
        @ ( real_V1908273582scaleR @ b @ ( times_times @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) @ ( inverse_inverse @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) ) )
          @ ( groups1340683514dd_sum @ a @ b
            @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
            @ sa ) )
        @ ( real_V1908273582scaleR @ b @ ( aa @ i ) @ ( y @ i ) ) ) ) ) ).

% calculation
thf(fact_7__092_060open_062f_A_I_092_060Sum_062j_092_060in_062insert_Ai_As_O_Aa_Aj_A_K_092_060_094sub_062R_Ay_Aj_J_A_061_Af_A_I_I_092_060Sum_062j_092_060in_062s_O_Aa_Aj_A_K_092_060_094sub_062R_Ay_Aj_J_A_L_Aa_Ai_A_K_092_060_094sub_062R_Ay_Ai_J_092_060close_062,axiom,
    ( ( f
      @ ( groups1340683514dd_sum @ a @ b
        @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
        @ ( insert @ a @ i @ sa ) ) )
    = ( f
      @ ( plus_plus @ b
        @ ( groups1340683514dd_sum @ a @ b
          @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
          @ sa )
        @ ( real_V1908273582scaleR @ b @ ( aa @ i ) @ ( y @ i ) ) ) ) ) ).

% \<open>f (\<Sum>j\<in>insert i s. a j *\<^sub>R y j) = f ((\<Sum>j\<in>s. a j *\<^sub>R y j) + a i *\<^sub>R y i)\<close>
thf(fact_8_scaleR__collapse,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [U: real,A2: A] :
          ( ( plus_plus @ A @ ( real_V1908273582scaleR @ A @ ( minus_minus @ real @ ( one_one @ real ) @ U ) @ A2 ) @ ( real_V1908273582scaleR @ A @ U @ A2 ) )
          = A2 ) ) ).

% scaleR_collapse
thf(fact_9_scaleR__eq__iff,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [B2: A,U: real,A2: A] :
          ( ( ( plus_plus @ A @ B2 @ ( real_V1908273582scaleR @ A @ U @ A2 ) )
            = ( plus_plus @ A @ A2 @ ( real_V1908273582scaleR @ A @ U @ B2 ) ) )
          = ( ( A2 = B2 )
            | ( U
              = ( one_one @ real ) ) ) ) ) ).

% scaleR_eq_iff
thf(fact_10_yai_I1_J,axiom,
    member @ b @ ( y @ i ) @ c ).

% yai(1)
thf(fact_11_scaleR__scaleR,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,B2: real,X2: A] :
          ( ( real_V1908273582scaleR @ A @ A2 @ ( real_V1908273582scaleR @ A @ B2 @ X2 ) )
          = ( real_V1908273582scaleR @ A @ ( times_times @ real @ A2 @ B2 ) @ X2 ) ) ) ).

% scaleR_scaleR
thf(fact_12_scaleR__one,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [X2: A] :
          ( ( real_V1908273582scaleR @ A @ ( one_one @ real ) @ X2 )
          = X2 ) ) ).

% scaleR_one
thf(fact_13__092_060open_062sum_Aa_As_A_061_A1_A_N_Aa_Ai_092_060close_062,axiom,
    ( ( groups1340683514dd_sum @ a @ real @ aa @ sa )
    = ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) ) ).

% \<open>sum a s = 1 - a i\<close>
thf(fact_14_inverse__eq__1__iff,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [X2: A] :
          ( ( ( inverse_inverse @ A @ X2 )
            = ( one_one @ A ) )
          = ( X2
            = ( one_one @ A ) ) ) ) ).

% inverse_eq_1_iff
thf(fact_15_inverse__1,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ( ( inverse_inverse @ A @ ( one_one @ A ) )
        = ( one_one @ A ) ) ) ).

% inverse_1
thf(fact_16_inverse__mult__distrib,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A] :
          ( ( inverse_inverse @ A @ ( times_times @ A @ A2 @ B2 ) )
          = ( times_times @ A @ ( inverse_inverse @ A @ A2 ) @ ( inverse_inverse @ A @ B2 ) ) ) ) ).

% inverse_mult_distrib
thf(fact_17_mult__scaleR__left,axiom,
    ! [A: $tType] :
      ( ( real_V148923926lgebra @ A )
     => ! [A2: real,X2: A,Y: A] :
          ( ( times_times @ A @ ( real_V1908273582scaleR @ A @ A2 @ X2 ) @ Y )
          = ( real_V1908273582scaleR @ A @ A2 @ ( times_times @ A @ X2 @ Y ) ) ) ) ).

% mult_scaleR_left
thf(fact_18_assms_I1_J,axiom,
    finite_finite2 @ a @ s ).

% assms(1)
thf(fact_19_assms_I2_J,axiom,
    ( s
   != ( bot_bot @ ( set @ a ) ) ) ).

% assms(2)
thf(fact_20_assms_I7_J,axiom,
    ! [I: a] :
      ( ( member @ a @ I @ s )
     => ( member @ b @ ( y @ I ) @ c ) ) ).

% assms(7)
thf(fact_21_insert_Oprems_I3_J,axiom,
    ! [I: a] :
      ( ( member @ a @ I @ ( insert @ a @ i @ sa ) )
     => ( member @ b @ ( y @ I ) @ c ) ) ).

% insert.prems(3)
thf(fact_22_inverse__inverse__eq,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A] :
          ( ( inverse_inverse @ A @ ( inverse_inverse @ A @ A2 ) )
          = A2 ) ) ).

% inverse_inverse_eq
thf(fact_23_inverse__eq__iff__eq,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A,B2: A] :
          ( ( ( inverse_inverse @ A @ A2 )
            = ( inverse_inverse @ A @ B2 ) )
          = ( A2 = B2 ) ) ) ).

% inverse_eq_iff_eq
thf(fact_24_insert_Oprems_I1_J,axiom,
    ( ( groups1340683514dd_sum @ a @ real @ aa @ ( insert @ a @ i @ sa ) )
    = ( one_one @ real ) ) ).

% insert.prems(1)
thf(fact_25_assms_I3_J,axiom,
    lower_673667120vex_on @ b @ c @ f ).

% assms(3)
thf(fact_26_fis,axiom,
    finite_finite2 @ a @ ( insert @ a @ i @ sa ) ).

% fis
thf(fact_27_mult__scaleR__right,axiom,
    ! [A: $tType] :
      ( ( real_V148923926lgebra @ A )
     => ! [X2: A,A2: real,Y: A] :
          ( ( times_times @ A @ X2 @ ( real_V1908273582scaleR @ A @ A2 @ Y ) )
          = ( real_V1908273582scaleR @ A @ A2 @ ( times_times @ A @ X2 @ Y ) ) ) ) ).

% mult_scaleR_right
thf(fact_28_assms_I4_J,axiom,
    convex @ b @ c ).

% assms(4)
thf(fact_29_assms_I5_J,axiom,
    ( ( groups1340683514dd_sum @ a @ real @ a2 @ s )
    = ( one_one @ real ) ) ).

% assms(5)
thf(fact_30_real__scaleR__def,axiom,
    ( ( real_V1908273582scaleR @ real )
    = ( times_times @ real ) ) ).

% real_scaleR_def
thf(fact_31_scale__left__commute,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,B2: real,X2: A] :
          ( ( real_V1908273582scaleR @ A @ A2 @ ( real_V1908273582scaleR @ A @ B2 @ X2 ) )
          = ( real_V1908273582scaleR @ A @ B2 @ ( real_V1908273582scaleR @ A @ A2 @ X2 ) ) ) ) ).

% scale_left_commute
thf(fact_32_inverse__eq__imp__eq,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A,B2: A] :
          ( ( ( inverse_inverse @ A @ A2 )
            = ( inverse_inverse @ A @ B2 ) )
         => ( A2 = B2 ) ) ) ).

% inverse_eq_imp_eq
thf(fact_33_scaleR__add__right,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,X2: A,Y: A] :
          ( ( real_V1908273582scaleR @ A @ A2 @ ( plus_plus @ A @ X2 @ Y ) )
          = ( plus_plus @ A @ ( real_V1908273582scaleR @ A @ A2 @ X2 ) @ ( real_V1908273582scaleR @ A @ A2 @ Y ) ) ) ) ).

% scaleR_add_right
thf(fact_34_scaleR__add__left,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,B2: real,X2: A] :
          ( ( real_V1908273582scaleR @ A @ ( plus_plus @ real @ A2 @ B2 ) @ X2 )
          = ( plus_plus @ A @ ( real_V1908273582scaleR @ A @ A2 @ X2 ) @ ( real_V1908273582scaleR @ A @ B2 @ X2 ) ) ) ) ).

% scaleR_add_left
thf(fact_35_scaleR__left_Oadd,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [X2: real,Y: real,Xa: A] :
          ( ( real_V1908273582scaleR @ A @ ( plus_plus @ real @ X2 @ Y ) @ Xa )
          = ( plus_plus @ A @ ( real_V1908273582scaleR @ A @ X2 @ Xa ) @ ( real_V1908273582scaleR @ A @ Y @ Xa ) ) ) ) ).

% scaleR_left.add
thf(fact_36_scale__right__diff__distrib,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,X2: A,Y: A] :
          ( ( real_V1908273582scaleR @ A @ A2 @ ( minus_minus @ A @ X2 @ Y ) )
          = ( minus_minus @ A @ ( real_V1908273582scaleR @ A @ A2 @ X2 ) @ ( real_V1908273582scaleR @ A @ A2 @ Y ) ) ) ) ).

% scale_right_diff_distrib
thf(fact_37_mult__commute__imp__mult__inverse__commute,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [Y: A,X2: A] :
          ( ( ( times_times @ A @ Y @ X2 )
            = ( times_times @ A @ X2 @ Y ) )
         => ( ( times_times @ A @ ( inverse_inverse @ A @ Y ) @ X2 )
            = ( times_times @ A @ X2 @ ( inverse_inverse @ A @ Y ) ) ) ) ) ).

% mult_commute_imp_mult_inverse_commute
thf(fact_38_scale__sum__right,axiom,
    ! [A: $tType,C: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,F: C > A,A3: set @ C] :
          ( ( real_V1908273582scaleR @ A @ A2 @ ( groups1340683514dd_sum @ C @ A @ F @ A3 ) )
          = ( groups1340683514dd_sum @ C @ A
            @ ^ [X: C] : ( real_V1908273582scaleR @ A @ A2 @ ( F @ X ) )
            @ A3 ) ) ) ).

% scale_sum_right
thf(fact_39_scale__sum__left,axiom,
    ! [A: $tType,C: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [F: C > real,A3: set @ C,X2: A] :
          ( ( real_V1908273582scaleR @ A @ ( groups1340683514dd_sum @ C @ real @ F @ A3 ) @ X2 )
          = ( groups1340683514dd_sum @ C @ A
            @ ^ [A4: C] : ( real_V1908273582scaleR @ A @ ( F @ A4 ) @ X2 )
            @ A3 ) ) ) ).

% scale_sum_left
thf(fact_40_scaleR__right_Osum,axiom,
    ! [A: $tType,C: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,G: C > A,A3: set @ C] :
          ( ( real_V1908273582scaleR @ A @ A2 @ ( groups1340683514dd_sum @ C @ A @ G @ A3 ) )
          = ( groups1340683514dd_sum @ C @ A
            @ ^ [X: C] : ( real_V1908273582scaleR @ A @ A2 @ ( G @ X ) )
            @ A3 ) ) ) ).

% scaleR_right.sum
thf(fact_41_scaleR__left_Osum,axiom,
    ! [A: $tType,C: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [G: C > real,A3: set @ C,X2: A] :
          ( ( real_V1908273582scaleR @ A @ ( groups1340683514dd_sum @ C @ real @ G @ A3 ) @ X2 )
          = ( groups1340683514dd_sum @ C @ A
            @ ^ [X: C] : ( real_V1908273582scaleR @ A @ ( G @ X ) @ X2 )
            @ A3 ) ) ) ).

% scaleR_left.sum
thf(fact_42_inverse__unique,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A,B2: A] :
          ( ( ( times_times @ A @ A2 @ B2 )
            = ( one_one @ A ) )
         => ( ( inverse_inverse @ A @ A2 )
            = B2 ) ) ) ).

% inverse_unique
thf(fact_43_scale__left__diff__distrib,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: real,B2: real,X2: A] :
          ( ( real_V1908273582scaleR @ A @ ( minus_minus @ real @ A2 @ B2 ) @ X2 )
          = ( minus_minus @ A @ ( real_V1908273582scaleR @ A @ A2 @ X2 ) @ ( real_V1908273582scaleR @ A @ B2 @ X2 ) ) ) ) ).

% scale_left_diff_distrib
thf(fact_44_scaleR__left_Odiff,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [X2: real,Y: real,Xa: A] :
          ( ( real_V1908273582scaleR @ A @ ( minus_minus @ real @ X2 @ Y ) @ Xa )
          = ( minus_minus @ A @ ( real_V1908273582scaleR @ A @ X2 @ Xa ) @ ( real_V1908273582scaleR @ A @ Y @ Xa ) ) ) ) ).

% scaleR_left.diff
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A2: A,P: A > $o] :
      ( ( member @ A @ A2 @ ( collect @ A @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( collect @ A
        @ ^ [X: A] : ( member @ A @ X @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X3: A] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) ).

% Collect_cong
thf(fact_48_ext,axiom,
    ! [B: $tType,A: $tType,F: A > B,G: A > B] :
      ( ! [X3: A] :
          ( ( F @ X3 )
          = ( G @ X3 ) )
     => ( F = G ) ) ).

% ext
thf(fact_49_inverse__scaleR__distrib,axiom,
    ! [A: $tType] :
      ( ( real_V1015715145lgebra @ A )
     => ! [A2: real,X2: A] :
          ( ( inverse_inverse @ A @ ( real_V1908273582scaleR @ A @ A2 @ X2 ) )
          = ( real_V1908273582scaleR @ A @ ( inverse_inverse @ real @ A2 ) @ ( inverse_inverse @ A @ X2 ) ) ) ) ).

% inverse_scaleR_distrib
thf(fact_50_asum,axiom,
    ( member @ b
    @ ( groups1340683514dd_sum @ a @ b
      @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( divide_divide @ real @ ( aa @ J ) @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) ) @ ( y @ J ) )
      @ sa )
    @ c ) ).

% asum
thf(fact_51_sum_Oinsert,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A3: set @ B,X2: B,G: B > A] :
          ( ( finite_finite2 @ B @ A3 )
         => ( ~ ( member @ B @ X2 @ A3 )
           => ( ( groups1340683514dd_sum @ B @ A @ G @ ( insert @ B @ X2 @ A3 ) )
              = ( plus_plus @ A @ ( G @ X2 ) @ ( groups1340683514dd_sum @ B @ A @ G @ A3 ) ) ) ) ) ) ).

% sum.insert
thf(fact_52_affine__hull__finite__step,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [S: set @ A,A2: A,W: real,Y: A] :
          ( ( finite_finite2 @ A @ S )
         => ( ( ? [U2: A > real] :
                  ( ( ( groups1340683514dd_sum @ A @ real @ U2 @ ( insert @ A @ A2 @ S ) )
                    = W )
                  & ( ( groups1340683514dd_sum @ A @ A
                      @ ^ [X: A] : ( real_V1908273582scaleR @ A @ ( U2 @ X ) @ X )
                      @ ( insert @ A @ A2 @ S ) )
                    = Y ) ) )
            = ( ? [V: real,U2: A > real] :
                  ( ( ( groups1340683514dd_sum @ A @ real @ U2 @ S )
                    = ( minus_minus @ real @ W @ V ) )
                  & ( ( groups1340683514dd_sum @ A @ A
                      @ ^ [X: A] : ( real_V1908273582scaleR @ A @ ( U2 @ X ) @ X )
                      @ S )
                    = ( minus_minus @ A @ Y @ ( real_V1908273582scaleR @ A @ V @ A2 ) ) ) ) ) ) ) ) ).

% affine_hull_finite_step
thf(fact_53_a1,axiom,
    ( ( groups1340683514dd_sum @ a @ real
      @ ^ [J: a] : ( divide_divide @ real @ ( aa @ J ) @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) )
      @ sa )
    = ( one_one @ real ) ) ).

% a1
thf(fact_54__092_060open_062sum_Aa_As_A_P_A_I1_A_N_Aa_Ai_J_A_061_A1_092_060close_062,axiom,
    ( ( divide_divide @ real @ ( groups1340683514dd_sum @ a @ real @ aa @ sa ) @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) )
    = ( one_one @ real ) ) ).

% \<open>sum a s / (1 - a i) = 1\<close>
thf(fact_55_singleton__conv,axiom,
    ! [A: $tType,A2: A] :
      ( ( collect @ A
        @ ^ [X: A] : X = A2 )
      = ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% singleton_conv
thf(fact_56_singleton__conv2,axiom,
    ! [A: $tType,A2: A] :
      ( ( collect @ A
        @ ( ^ [Y2: A,Z: A] : Y2 = Z
          @ A2 ) )
      = ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% singleton_conv2
thf(fact_57_finite__insert,axiom,
    ! [A: $tType,A2: A,A3: set @ A] :
      ( ( finite_finite2 @ A @ ( insert @ A @ A2 @ A3 ) )
      = ( finite_finite2 @ A @ A3 ) ) ).

% finite_insert
thf(fact_58_sum__diff1,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ab_group_add @ A )
     => ! [A3: set @ B,A2: B,F: B > A] :
          ( ( finite_finite2 @ B @ A3 )
         => ( ( ( member @ B @ A2 @ A3 )
             => ( ( groups1340683514dd_sum @ B @ A @ F @ ( minus_minus @ ( set @ B ) @ A3 @ ( insert @ B @ A2 @ ( bot_bot @ ( set @ B ) ) ) ) )
                = ( minus_minus @ A @ ( groups1340683514dd_sum @ B @ A @ F @ A3 ) @ ( F @ A2 ) ) ) )
            & ( ~ ( member @ B @ A2 @ A3 )
             => ( ( groups1340683514dd_sum @ B @ A @ F @ ( minus_minus @ ( set @ B ) @ A3 @ ( insert @ B @ A2 @ ( bot_bot @ ( set @ B ) ) ) ) )
                = ( groups1340683514dd_sum @ B @ A @ F @ A3 ) ) ) ) ) ) ).

% sum_diff1
thf(fact_59_singletonI,axiom,
    ! [A: $tType,A2: A] : ( member @ A @ A2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% singletonI
thf(fact_60_empty__Collect__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( bot_bot @ ( set @ A ) )
        = ( collect @ A @ P ) )
      = ( ! [X: A] :
            ~ ( P @ X ) ) ) ).

% empty_Collect_eq
thf(fact_61_Collect__empty__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( collect @ A @ P )
        = ( bot_bot @ ( set @ A ) ) )
      = ( ! [X: A] :
            ~ ( P @ X ) ) ) ).

% Collect_empty_eq
thf(fact_62_all__not__in__conv,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( ! [X: A] :
            ~ ( member @ A @ X @ A3 ) )
      = ( A3
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% all_not_in_conv
thf(fact_63_empty__iff,axiom,
    ! [A: $tType,C2: A] :
      ~ ( member @ A @ C2 @ ( bot_bot @ ( set @ A ) ) ) ).

% empty_iff
thf(fact_64_finite__code,axiom,
    ! [A: $tType] :
      ( ( finite_finite @ A )
     => ( ( finite_finite2 @ A )
        = ( ^ [A5: set @ A] : $true ) ) ) ).

% finite_code
thf(fact_65_insert__absorb2,axiom,
    ! [A: $tType,X2: A,A3: set @ A] :
      ( ( insert @ A @ X2 @ ( insert @ A @ X2 @ A3 ) )
      = ( insert @ A @ X2 @ A3 ) ) ).

% insert_absorb2
thf(fact_66_insert__iff,axiom,
    ! [A: $tType,A2: A,B2: A,A3: set @ A] :
      ( ( member @ A @ A2 @ ( insert @ A @ B2 @ A3 ) )
      = ( ( A2 = B2 )
        | ( member @ A @ A2 @ A3 ) ) ) ).

% insert_iff
thf(fact_67_insertCI,axiom,
    ! [A: $tType,A2: A,B3: set @ A,B2: A] :
      ( ( ~ ( member @ A @ A2 @ B3 )
       => ( A2 = B2 ) )
     => ( member @ A @ A2 @ ( insert @ A @ B2 @ B3 ) ) ) ).

% insertCI
thf(fact_68_Diff__idemp,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) @ B3 )
      = ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ).

% Diff_idemp
thf(fact_69_Diff__iff,axiom,
    ! [A: $tType,C2: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C2 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
      = ( ( member @ A @ C2 @ A3 )
        & ~ ( member @ A @ C2 @ B3 ) ) ) ).

% Diff_iff
thf(fact_70_DiffI,axiom,
    ! [A: $tType,C2: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C2 @ A3 )
     => ( ~ ( member @ A @ C2 @ B3 )
       => ( member @ A @ C2 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ) ).

% DiffI
thf(fact_71_finite__Collect__disjI,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ( finite_finite2 @ A
        @ ( collect @ A
          @ ^ [X: A] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
        & ( finite_finite2 @ A @ ( collect @ A @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_72_finite__Collect__conjI,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
        | ( finite_finite2 @ A @ ( collect @ A @ Q ) ) )
     => ( finite_finite2 @ A
        @ ( collect @ A
          @ ^ [X: A] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_73_times__divide__eq__left,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [B2: A,C2: A,A2: A] :
          ( ( times_times @ A @ ( divide_divide @ A @ B2 @ C2 ) @ A2 )
          = ( divide_divide @ A @ ( times_times @ A @ B2 @ A2 ) @ C2 ) ) ) ).

% times_divide_eq_left
thf(fact_74_divide__divide__eq__left,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( divide_divide @ A @ ( divide_divide @ A @ A2 @ B2 ) @ C2 )
          = ( divide_divide @ A @ A2 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% divide_divide_eq_left
thf(fact_75_divide__divide__eq__right,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( divide_divide @ A @ A2 @ ( divide_divide @ A @ B2 @ C2 ) )
          = ( divide_divide @ A @ ( times_times @ A @ A2 @ C2 ) @ B2 ) ) ) ).

% divide_divide_eq_right
thf(fact_76_times__divide__eq__right,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ A2 @ ( divide_divide @ A @ B2 @ C2 ) )
          = ( divide_divide @ A @ ( times_times @ A @ A2 @ B2 ) @ C2 ) ) ) ).

% times_divide_eq_right
thf(fact_77_Diff__cancel,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ A3 @ A3 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Diff_cancel
thf(fact_78_empty__Diff,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A3 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% empty_Diff
thf(fact_79_Diff__empty,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ A3 @ ( bot_bot @ ( set @ A ) ) )
      = A3 ) ).

% Diff_empty
thf(fact_80_finite__Diff2,axiom,
    ! [A: $tType,B3: set @ A,A3: set @ A] :
      ( ( finite_finite2 @ A @ B3 )
     => ( ( finite_finite2 @ A @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
        = ( finite_finite2 @ A @ A3 ) ) ) ).

% finite_Diff2
thf(fact_81_finite__Diff,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( finite_finite2 @ A @ A3 )
     => ( finite_finite2 @ A @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ).

% finite_Diff
thf(fact_82_insert__Diff1,axiom,
    ! [A: $tType,X2: A,B3: set @ A,A3: set @ A] :
      ( ( member @ A @ X2 @ B3 )
     => ( ( minus_minus @ ( set @ A ) @ ( insert @ A @ X2 @ A3 ) @ B3 )
        = ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ).

% insert_Diff1
thf(fact_83_Diff__insert0,axiom,
    ! [A: $tType,X2: A,A3: set @ A,B3: set @ A] :
      ( ~ ( member @ A @ X2 @ A3 )
     => ( ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ X2 @ B3 ) )
        = ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ).

% Diff_insert0
thf(fact_84_inverse__divide,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A] :
          ( ( inverse_inverse @ A @ ( divide_divide @ A @ A2 @ B2 ) )
          = ( divide_divide @ A @ B2 @ A2 ) ) ) ).

% inverse_divide
thf(fact_85_insert__Diff__single,axiom,
    ! [A: $tType,A2: A,A3: set @ A] :
      ( ( insert @ A @ A2 @ ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) )
      = ( insert @ A @ A2 @ A3 ) ) ).

% insert_Diff_single
thf(fact_86_finite__Diff__insert,axiom,
    ! [A: $tType,A3: set @ A,A2: A,B3: set @ A] :
      ( ( finite_finite2 @ A @ ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ B3 ) ) )
      = ( finite_finite2 @ A @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ).

% finite_Diff_insert
thf(fact_87_sum__diff1__nat,axiom,
    ! [A: $tType,A2: A,A3: set @ A,F: A > nat] :
      ( ( ( member @ A @ A2 @ A3 )
       => ( ( groups1340683514dd_sum @ A @ nat @ F @ ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) )
          = ( minus_minus @ nat @ ( groups1340683514dd_sum @ A @ nat @ F @ A3 ) @ ( F @ A2 ) ) ) )
      & ( ~ ( member @ A @ A2 @ A3 )
       => ( ( groups1340683514dd_sum @ A @ nat @ F @ ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) )
          = ( groups1340683514dd_sum @ A @ nat @ F @ A3 ) ) ) ) ).

% sum_diff1_nat
thf(fact_88_minus__set__def,axiom,
    ! [A: $tType] :
      ( ( minus_minus @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] :
            ( collect @ A
            @ ( minus_minus @ ( A > $o )
              @ ^ [X: A] : ( member @ A @ X @ A5 )
              @ ^ [X: A] : ( member @ A @ X @ B4 ) ) ) ) ) ).

% minus_set_def
thf(fact_89_set__diff__eq,axiom,
    ! [A: $tType] :
      ( ( minus_minus @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] :
            ( collect @ A
            @ ^ [X: A] :
                ( ( member @ A @ X @ A5 )
                & ~ ( member @ A @ X @ B4 ) ) ) ) ) ).

% set_diff_eq
thf(fact_90_DiffD2,axiom,
    ! [A: $tType,C2: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C2 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
     => ~ ( member @ A @ C2 @ B3 ) ) ).

% DiffD2
thf(fact_91_DiffD1,axiom,
    ! [A: $tType,C2: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C2 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
     => ( member @ A @ C2 @ A3 ) ) ).

% DiffD1
thf(fact_92_DiffE,axiom,
    ! [A: $tType,C2: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C2 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
     => ~ ( ( member @ A @ C2 @ A3 )
         => ( member @ A @ C2 @ B3 ) ) ) ).

% DiffE
thf(fact_93_Diff__infinite__finite,axiom,
    ! [A: $tType,T: set @ A,S: set @ A] :
      ( ( finite_finite2 @ A @ T )
     => ( ~ ( finite_finite2 @ A @ S )
       => ~ ( finite_finite2 @ A @ ( minus_minus @ ( set @ A ) @ S @ T ) ) ) ) ).

% Diff_infinite_finite
thf(fact_94_insert__Diff__if,axiom,
    ! [A: $tType,X2: A,B3: set @ A,A3: set @ A] :
      ( ( ( member @ A @ X2 @ B3 )
       => ( ( minus_minus @ ( set @ A ) @ ( insert @ A @ X2 @ A3 ) @ B3 )
          = ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) )
      & ( ~ ( member @ A @ X2 @ B3 )
       => ( ( minus_minus @ ( set @ A ) @ ( insert @ A @ X2 @ A3 ) @ B3 )
          = ( insert @ A @ X2 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_95_sum__divide__distrib,axiom,
    ! [A: $tType,B: $tType] :
      ( ( field @ A )
     => ! [F: B > A,A3: set @ B,R: A] :
          ( ( divide_divide @ A @ ( groups1340683514dd_sum @ B @ A @ F @ A3 ) @ R )
          = ( groups1340683514dd_sum @ B @ A
            @ ^ [N: B] : ( divide_divide @ A @ ( F @ N ) @ R )
            @ A3 ) ) ) ).

% sum_divide_distrib
thf(fact_96_convex__ereal__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [S2: set @ A,F: A > extended_ereal,G: A > extended_ereal] :
          ( ( lower_673667120vex_on @ A @ S2 @ F )
         => ( ( lower_673667120vex_on @ A @ S2 @ G )
           => ( lower_673667120vex_on @ A @ S2
              @ ^ [X: A] : ( plus_plus @ extended_ereal @ ( F @ X ) @ ( G @ X ) ) ) ) ) ) ).

% convex_ereal_add
thf(fact_97_times__divide__times__eq,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [X2: A,Y: A,Z2: A,W: A] :
          ( ( times_times @ A @ ( divide_divide @ A @ X2 @ Y ) @ ( divide_divide @ A @ Z2 @ W ) )
          = ( divide_divide @ A @ ( times_times @ A @ X2 @ Z2 ) @ ( times_times @ A @ Y @ W ) ) ) ) ).

% times_divide_times_eq
thf(fact_98_divide__divide__times__eq,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [X2: A,Y: A,Z2: A,W: A] :
          ( ( divide_divide @ A @ ( divide_divide @ A @ X2 @ Y ) @ ( divide_divide @ A @ Z2 @ W ) )
          = ( divide_divide @ A @ ( times_times @ A @ X2 @ W ) @ ( times_times @ A @ Y @ Z2 ) ) ) ) ).

% divide_divide_times_eq
thf(fact_99_divide__divide__eq__left_H,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( divide_divide @ A @ ( divide_divide @ A @ A2 @ B2 ) @ C2 )
          = ( divide_divide @ A @ A2 @ ( times_times @ A @ C2 @ B2 ) ) ) ) ).

% divide_divide_eq_left'
thf(fact_100_add__divide__distrib,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( divide_divide @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ ( divide_divide @ A @ A2 @ C2 ) @ ( divide_divide @ A @ B2 @ C2 ) ) ) ) ).

% add_divide_distrib
thf(fact_101_diff__divide__distrib,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( divide_divide @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
          = ( minus_minus @ A @ ( divide_divide @ A @ A2 @ C2 ) @ ( divide_divide @ A @ B2 @ C2 ) ) ) ) ).

% diff_divide_distrib
thf(fact_102_Diff__insert__absorb,axiom,
    ! [A: $tType,X2: A,A3: set @ A] :
      ( ~ ( member @ A @ X2 @ A3 )
     => ( ( minus_minus @ ( set @ A ) @ ( insert @ A @ X2 @ A3 ) @ ( insert @ A @ X2 @ ( bot_bot @ ( set @ A ) ) ) )
        = A3 ) ) ).

% Diff_insert_absorb
thf(fact_103_Diff__insert2,axiom,
    ! [A: $tType,A3: set @ A,A2: A,B3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ B3 ) )
      = ( minus_minus @ ( set @ A ) @ ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) @ B3 ) ) ).

% Diff_insert2
thf(fact_104_insert__Diff,axiom,
    ! [A: $tType,A2: A,A3: set @ A] :
      ( ( member @ A @ A2 @ A3 )
     => ( ( insert @ A @ A2 @ ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) )
        = A3 ) ) ).

% insert_Diff
thf(fact_105_Diff__insert,axiom,
    ! [A: $tType,A3: set @ A,A2: A,B3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ A3 @ ( insert @ A @ A2 @ B3 ) )
      = ( minus_minus @ ( set @ A ) @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% Diff_insert
thf(fact_106_finite__empty__induct,axiom,
    ! [A: $tType,A3: set @ A,P: ( set @ A ) > $o] :
      ( ( finite_finite2 @ A @ A3 )
     => ( ( P @ A3 )
       => ( ! [A6: A,A7: set @ A] :
              ( ( finite_finite2 @ A @ A7 )
             => ( ( member @ A @ A6 @ A7 )
               => ( ( P @ A7 )
                 => ( P @ ( minus_minus @ ( set @ A ) @ A7 @ ( insert @ A @ A6 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) )
         => ( P @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% finite_empty_induct
thf(fact_107_infinite__coinduct,axiom,
    ! [A: $tType,X4: ( set @ A ) > $o,A3: set @ A] :
      ( ( X4 @ A3 )
     => ( ! [A7: set @ A] :
            ( ( X4 @ A7 )
           => ? [X5: A] :
                ( ( member @ A @ X5 @ A7 )
                & ( ( X4 @ ( minus_minus @ ( set @ A ) @ A7 @ ( insert @ A @ X5 @ ( bot_bot @ ( set @ A ) ) ) ) )
                  | ~ ( finite_finite2 @ A @ ( minus_minus @ ( set @ A ) @ A7 @ ( insert @ A @ X5 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) )
       => ~ ( finite_finite2 @ A @ A3 ) ) ) ).

% infinite_coinduct
thf(fact_108_infinite__remove,axiom,
    ! [A: $tType,S: set @ A,A2: A] :
      ( ~ ( finite_finite2 @ A @ S )
     => ~ ( finite_finite2 @ A @ ( minus_minus @ ( set @ A ) @ S @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% infinite_remove
thf(fact_109_field__class_Ofield__divide__inverse,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ( ( divide_divide @ A )
        = ( ^ [A4: A,B5: A] : ( times_times @ A @ A4 @ ( inverse_inverse @ A @ B5 ) ) ) ) ) ).

% field_class.field_divide_inverse
thf(fact_110_divide__inverse,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ( ( divide_divide @ A )
        = ( ^ [A4: A,B5: A] : ( times_times @ A @ A4 @ ( inverse_inverse @ A @ B5 ) ) ) ) ) ).

% divide_inverse
thf(fact_111_divide__inverse__commute,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ( ( divide_divide @ A )
        = ( ^ [A4: A,B5: A] : ( times_times @ A @ ( inverse_inverse @ A @ B5 ) @ A4 ) ) ) ) ).

% divide_inverse_commute
thf(fact_112_inverse__eq__divide,axiom,
    ! [A: $tType] :
      ( ( division_ring @ A )
     => ( ( inverse_inverse @ A )
        = ( divide_divide @ A @ ( one_one @ A ) ) ) ) ).

% inverse_eq_divide
thf(fact_113_ex__in__conv,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( ? [X: A] : ( member @ A @ X @ A3 ) )
      = ( A3
       != ( bot_bot @ ( set @ A ) ) ) ) ).

% ex_in_conv
thf(fact_114_equals0I,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ! [Y3: A] :
          ~ ( member @ A @ Y3 @ A3 )
     => ( A3
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% equals0I
thf(fact_115_equals0D,axiom,
    ! [A: $tType,A3: set @ A,A2: A] :
      ( ( A3
        = ( bot_bot @ ( set @ A ) ) )
     => ~ ( member @ A @ A2 @ A3 ) ) ).

% equals0D
thf(fact_116_emptyE,axiom,
    ! [A: $tType,A2: A] :
      ~ ( member @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ).

% emptyE
thf(fact_117_finite,axiom,
    ! [A: $tType] :
      ( ( finite_finite @ A )
     => ! [A3: set @ A] : ( finite_finite2 @ A @ A3 ) ) ).

% finite
thf(fact_118_finite__set__choice,axiom,
    ! [B: $tType,A: $tType,A3: set @ A,P: A > B > $o] :
      ( ( finite_finite2 @ A @ A3 )
     => ( ! [X3: A] :
            ( ( member @ A @ X3 @ A3 )
           => ? [X_1: B] : ( P @ X3 @ X_1 ) )
       => ? [F2: A > B] :
          ! [X5: A] :
            ( ( member @ A @ X5 @ A3 )
           => ( P @ X5 @ ( F2 @ X5 ) ) ) ) ) ).

% finite_set_choice
thf(fact_119_mk__disjoint__insert,axiom,
    ! [A: $tType,A2: A,A3: set @ A] :
      ( ( member @ A @ A2 @ A3 )
     => ? [B6: set @ A] :
          ( ( A3
            = ( insert @ A @ A2 @ B6 ) )
          & ~ ( member @ A @ A2 @ B6 ) ) ) ).

% mk_disjoint_insert
thf(fact_120_insert__commute,axiom,
    ! [A: $tType,X2: A,Y: A,A3: set @ A] :
      ( ( insert @ A @ X2 @ ( insert @ A @ Y @ A3 ) )
      = ( insert @ A @ Y @ ( insert @ A @ X2 @ A3 ) ) ) ).

% insert_commute
thf(fact_121_insert__eq__iff,axiom,
    ! [A: $tType,A2: A,A3: set @ A,B2: A,B3: set @ A] :
      ( ~ ( member @ A @ A2 @ A3 )
     => ( ~ ( member @ A @ B2 @ B3 )
       => ( ( ( insert @ A @ A2 @ A3 )
            = ( insert @ A @ B2 @ B3 ) )
          = ( ( ( A2 = B2 )
             => ( A3 = B3 ) )
            & ( ( A2 != B2 )
             => ? [C3: set @ A] :
                  ( ( A3
                    = ( insert @ A @ B2 @ C3 ) )
                  & ~ ( member @ A @ B2 @ C3 )
                  & ( B3
                    = ( insert @ A @ A2 @ C3 ) )
                  & ~ ( member @ A @ A2 @ C3 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_122_insert__absorb,axiom,
    ! [A: $tType,A2: A,A3: set @ A] :
      ( ( member @ A @ A2 @ A3 )
     => ( ( insert @ A @ A2 @ A3 )
        = A3 ) ) ).

% insert_absorb
thf(fact_123_insert__ident,axiom,
    ! [A: $tType,X2: A,A3: set @ A,B3: set @ A] :
      ( ~ ( member @ A @ X2 @ A3 )
     => ( ~ ( member @ A @ X2 @ B3 )
       => ( ( ( insert @ A @ X2 @ A3 )
            = ( insert @ A @ X2 @ B3 ) )
          = ( A3 = B3 ) ) ) ) ).

% insert_ident
thf(fact_124_Set_Oset__insert,axiom,
    ! [A: $tType,X2: A,A3: set @ A] :
      ( ( member @ A @ X2 @ A3 )
     => ~ ! [B6: set @ A] :
            ( ( A3
              = ( insert @ A @ X2 @ B6 ) )
           => ( member @ A @ X2 @ B6 ) ) ) ).

% Set.set_insert
thf(fact_125_insertI2,axiom,
    ! [A: $tType,A2: A,B3: set @ A,B2: A] :
      ( ( member @ A @ A2 @ B3 )
     => ( member @ A @ A2 @ ( insert @ A @ B2 @ B3 ) ) ) ).

% insertI2
thf(fact_126_insertI1,axiom,
    ! [A: $tType,A2: A,B3: set @ A] : ( member @ A @ A2 @ ( insert @ A @ A2 @ B3 ) ) ).

% insertI1
thf(fact_127_insertE,axiom,
    ! [A: $tType,A2: A,B2: A,A3: set @ A] :
      ( ( member @ A @ A2 @ ( insert @ A @ B2 @ A3 ) )
     => ( ( A2 != B2 )
       => ( member @ A @ A2 @ A3 ) ) ) ).

% insertE
thf(fact_128_sum_Ocong,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A3: set @ B,B3: set @ B,G: B > A,H: B > A] :
          ( ( A3 = B3 )
         => ( ! [X3: B] :
                ( ( member @ B @ X3 @ B3 )
               => ( ( G @ X3 )
                  = ( H @ X3 ) ) )
           => ( ( groups1340683514dd_sum @ B @ A @ G @ A3 )
              = ( groups1340683514dd_sum @ B @ A @ H @ B3 ) ) ) ) ) ).

% sum.cong
thf(fact_129_sum_Oeq__general,axiom,
    ! [C: $tType,A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [B3: set @ B,A3: set @ C,H: C > B,Gamma: B > A,Phi: C > A] :
          ( ! [Y3: B] :
              ( ( member @ B @ Y3 @ B3 )
             => ? [X5: C] :
                  ( ( member @ C @ X5 @ A3 )
                  & ( ( H @ X5 )
                    = Y3 )
                  & ! [Ya: C] :
                      ( ( ( member @ C @ Ya @ A3 )
                        & ( ( H @ Ya )
                          = Y3 ) )
                     => ( Ya = X5 ) ) ) )
         => ( ! [X3: C] :
                ( ( member @ C @ X3 @ A3 )
               => ( ( member @ B @ ( H @ X3 ) @ B3 )
                  & ( ( Gamma @ ( H @ X3 ) )
                    = ( Phi @ X3 ) ) ) )
           => ( ( groups1340683514dd_sum @ C @ A @ Phi @ A3 )
              = ( groups1340683514dd_sum @ B @ A @ Gamma @ B3 ) ) ) ) ) ).

% sum.eq_general
thf(fact_130_sum_Oeq__general__inverses,axiom,
    ! [C: $tType,A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [B3: set @ B,K: B > C,A3: set @ C,H: C > B,Gamma: B > A,Phi: C > A] :
          ( ! [Y3: B] :
              ( ( member @ B @ Y3 @ B3 )
             => ( ( member @ C @ ( K @ Y3 ) @ A3 )
                & ( ( H @ ( K @ Y3 ) )
                  = Y3 ) ) )
         => ( ! [X3: C] :
                ( ( member @ C @ X3 @ A3 )
               => ( ( member @ B @ ( H @ X3 ) @ B3 )
                  & ( ( K @ ( H @ X3 ) )
                    = X3 )
                  & ( ( Gamma @ ( H @ X3 ) )
                    = ( Phi @ X3 ) ) ) )
           => ( ( groups1340683514dd_sum @ C @ A @ Phi @ A3 )
              = ( groups1340683514dd_sum @ B @ A @ Gamma @ B3 ) ) ) ) ) ).

% sum.eq_general_inverses
thf(fact_131_sum_Oreindex__bij__witness,axiom,
    ! [B: $tType,A: $tType,C: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [S: set @ B,I2: C > B,J2: B > C,T: set @ C,H: C > A,G: B > A] :
          ( ! [A6: B] :
              ( ( member @ B @ A6 @ S )
             => ( ( I2 @ ( J2 @ A6 ) )
                = A6 ) )
         => ( ! [A6: B] :
                ( ( member @ B @ A6 @ S )
               => ( member @ C @ ( J2 @ A6 ) @ T ) )
           => ( ! [B7: C] :
                  ( ( member @ C @ B7 @ T )
                 => ( ( J2 @ ( I2 @ B7 ) )
                    = B7 ) )
             => ( ! [B7: C] :
                    ( ( member @ C @ B7 @ T )
                   => ( member @ B @ ( I2 @ B7 ) @ S ) )
               => ( ! [A6: B] :
                      ( ( member @ B @ A6 @ S )
                     => ( ( H @ ( J2 @ A6 ) )
                        = ( G @ A6 ) ) )
                 => ( ( groups1340683514dd_sum @ B @ A @ G @ S )
                    = ( groups1340683514dd_sum @ C @ A @ H @ T ) ) ) ) ) ) ) ) ).

% sum.reindex_bij_witness
thf(fact_132_if__smult,axiom,
    ! [A: $tType] :
      ( ( real_Vector_scaleR @ A )
     => ! [P: $o,X2: real,Y: real,V2: A] :
          ( ( P
           => ( ( real_V1908273582scaleR @ A @ ( if @ real @ P @ X2 @ Y ) @ V2 )
              = ( real_V1908273582scaleR @ A @ X2 @ V2 ) ) )
          & ( ~ P
           => ( ( real_V1908273582scaleR @ A @ ( if @ real @ P @ X2 @ Y ) @ V2 )
              = ( real_V1908273582scaleR @ A @ Y @ V2 ) ) ) ) ) ).

% if_smult
thf(fact_133_sum_Oinsert__remove,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A3: set @ B,G: B > A,X2: B] :
          ( ( finite_finite2 @ B @ A3 )
         => ( ( groups1340683514dd_sum @ B @ A @ G @ ( insert @ B @ X2 @ A3 ) )
            = ( plus_plus @ A @ ( G @ X2 ) @ ( groups1340683514dd_sum @ B @ A @ G @ ( minus_minus @ ( set @ B ) @ A3 @ ( insert @ B @ X2 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ) ) ).

% sum.insert_remove
thf(fact_134_sum_Oremove,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A3: set @ B,X2: B,G: B > A] :
          ( ( finite_finite2 @ B @ A3 )
         => ( ( member @ B @ X2 @ A3 )
           => ( ( groups1340683514dd_sum @ B @ A @ G @ A3 )
              = ( plus_plus @ A @ ( G @ X2 ) @ ( groups1340683514dd_sum @ B @ A @ G @ ( minus_minus @ ( set @ B ) @ A3 @ ( insert @ B @ X2 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ) ) ) ).

% sum.remove
thf(fact_135_sum_Odelta__remove,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [S: set @ B,A2: B,B2: B > A,C2: B > A] :
          ( ( finite_finite2 @ B @ S )
         => ( ( ( member @ B @ A2 @ S )
             => ( ( groups1340683514dd_sum @ B @ A
                  @ ^ [K2: B] : ( if @ A @ ( K2 = A2 ) @ ( B2 @ K2 ) @ ( C2 @ K2 ) )
                  @ S )
                = ( plus_plus @ A @ ( B2 @ A2 ) @ ( groups1340683514dd_sum @ B @ A @ C2 @ ( minus_minus @ ( set @ B ) @ S @ ( insert @ B @ A2 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) )
            & ( ~ ( member @ B @ A2 @ S )
             => ( ( groups1340683514dd_sum @ B @ A
                  @ ^ [K2: B] : ( if @ A @ ( K2 = A2 ) @ ( B2 @ K2 ) @ ( C2 @ K2 ) )
                  @ S )
                = ( groups1340683514dd_sum @ B @ A @ C2 @ ( minus_minus @ ( set @ B ) @ S @ ( insert @ B @ A2 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ) ) ) ).

% sum.delta_remove
thf(fact_136_empty__def,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( set @ A ) )
      = ( collect @ A
        @ ^ [X: A] : $false ) ) ).

% empty_def
thf(fact_137_pigeonhole__infinite__rel,axiom,
    ! [B: $tType,A: $tType,A3: set @ A,B3: set @ B,R2: A > B > $o] :
      ( ~ ( finite_finite2 @ A @ A3 )
     => ( ( finite_finite2 @ B @ B3 )
       => ( ! [X3: A] :
              ( ( member @ A @ X3 @ A3 )
             => ? [Xa2: B] :
                  ( ( member @ B @ Xa2 @ B3 )
                  & ( R2 @ X3 @ Xa2 ) ) )
         => ? [X3: B] :
              ( ( member @ B @ X3 @ B3 )
              & ~ ( finite_finite2 @ A
                  @ ( collect @ A
                    @ ^ [A4: A] :
                        ( ( member @ A @ A4 @ A3 )
                        & ( R2 @ A4 @ X3 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_138_not__finite__existsD,axiom,
    ! [A: $tType,P: A > $o] :
      ( ~ ( finite_finite2 @ A @ ( collect @ A @ P ) )
     => ? [X_12: A] : ( P @ X_12 ) ) ).

% not_finite_existsD
thf(fact_139_insert__Collect,axiom,
    ! [A: $tType,A2: A,P: A > $o] :
      ( ( insert @ A @ A2 @ ( collect @ A @ P ) )
      = ( collect @ A
        @ ^ [U2: A] :
            ( ( U2 != A2 )
           => ( P @ U2 ) ) ) ) ).

% insert_Collect
thf(fact_140_insert__compr,axiom,
    ! [A: $tType] :
      ( ( insert @ A )
      = ( ^ [A4: A,B4: set @ A] :
            ( collect @ A
            @ ^ [X: A] :
                ( ( X = A4 )
                | ( member @ A @ X @ B4 ) ) ) ) ) ).

% insert_compr
thf(fact_141_sum__delta__notmem_I4_J,axiom,
    ! [B: $tType,A: $tType] :
      ( ( comm_monoid_add @ B )
     => ! [X2: A,S2: set @ A,P: A > B,Q: A > B] :
          ( ~ ( member @ A @ X2 @ S2 )
         => ( ( groups1340683514dd_sum @ A @ B
              @ ^ [Y4: A] : ( if @ B @ ( X2 = Y4 ) @ ( P @ Y4 ) @ ( Q @ Y4 ) )
              @ S2 )
            = ( groups1340683514dd_sum @ A @ B @ Q @ S2 ) ) ) ) ).

% sum_delta_notmem(4)
thf(fact_142_sum__delta__notmem_I3_J,axiom,
    ! [B: $tType,A: $tType] :
      ( ( comm_monoid_add @ B )
     => ! [X2: A,S2: set @ A,P: A > B,Q: A > B] :
          ( ~ ( member @ A @ X2 @ S2 )
         => ( ( groups1340683514dd_sum @ A @ B
              @ ^ [Y4: A] : ( if @ B @ ( Y4 = X2 ) @ ( P @ Y4 ) @ ( Q @ Y4 ) )
              @ S2 )
            = ( groups1340683514dd_sum @ A @ B @ Q @ S2 ) ) ) ) ).

% sum_delta_notmem(3)
thf(fact_143_sum__delta__notmem_I2_J,axiom,
    ! [B: $tType,A: $tType] :
      ( ( comm_monoid_add @ B )
     => ! [X2: A,S2: set @ A,P: A > B,Q: A > B] :
          ( ~ ( member @ A @ X2 @ S2 )
         => ( ( groups1340683514dd_sum @ A @ B
              @ ^ [Y4: A] : ( if @ B @ ( X2 = Y4 ) @ ( P @ X2 ) @ ( Q @ Y4 ) )
              @ S2 )
            = ( groups1340683514dd_sum @ A @ B @ Q @ S2 ) ) ) ) ).

% sum_delta_notmem(2)
thf(fact_144_sum__delta__notmem_I1_J,axiom,
    ! [B: $tType,A: $tType] :
      ( ( comm_monoid_add @ B )
     => ! [X2: A,S2: set @ A,P: A > B,Q: A > B] :
          ( ~ ( member @ A @ X2 @ S2 )
         => ( ( groups1340683514dd_sum @ A @ B
              @ ^ [Y4: A] : ( if @ B @ ( Y4 = X2 ) @ ( P @ X2 ) @ ( Q @ Y4 ) )
              @ S2 )
            = ( groups1340683514dd_sum @ A @ B @ Q @ S2 ) ) ) ) ).

% sum_delta_notmem(1)
thf(fact_145_sum_Oswap,axiom,
    ! [A: $tType,B: $tType,C: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [G: B > C > A,B3: set @ C,A3: set @ B] :
          ( ( groups1340683514dd_sum @ B @ A
            @ ^ [I3: B] : ( groups1340683514dd_sum @ C @ A @ ( G @ I3 ) @ B3 )
            @ A3 )
          = ( groups1340683514dd_sum @ C @ A
            @ ^ [J: C] :
                ( groups1340683514dd_sum @ B @ A
                @ ^ [I3: B] : ( G @ I3 @ J )
                @ A3 )
            @ B3 ) ) ) ).

% sum.swap
thf(fact_146_infinite__imp__nonempty,axiom,
    ! [A: $tType,S: set @ A] :
      ( ~ ( finite_finite2 @ A @ S )
     => ( S
       != ( bot_bot @ ( set @ A ) ) ) ) ).

% infinite_imp_nonempty
thf(fact_147_finite_OemptyI,axiom,
    ! [A: $tType] : ( finite_finite2 @ A @ ( bot_bot @ ( set @ A ) ) ) ).

% finite.emptyI
thf(fact_148_singleton__inject,axiom,
    ! [A: $tType,A2: A,B2: A] :
      ( ( ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) )
        = ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( A2 = B2 ) ) ).

% singleton_inject
thf(fact_149_insert__not__empty,axiom,
    ! [A: $tType,A2: A,A3: set @ A] :
      ( ( insert @ A @ A2 @ A3 )
     != ( bot_bot @ ( set @ A ) ) ) ).

% insert_not_empty
thf(fact_150_doubleton__eq__iff,axiom,
    ! [A: $tType,A2: A,B2: A,C2: A,D: A] :
      ( ( ( insert @ A @ A2 @ ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
        = ( insert @ A @ C2 @ ( insert @ A @ D @ ( bot_bot @ ( set @ A ) ) ) ) )
      = ( ( ( A2 = C2 )
          & ( B2 = D ) )
        | ( ( A2 = D )
          & ( B2 = C2 ) ) ) ) ).

% doubleton_eq_iff
thf(fact_151_singleton__iff,axiom,
    ! [A: $tType,B2: A,A2: A] :
      ( ( member @ A @ B2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
      = ( B2 = A2 ) ) ).

% singleton_iff
thf(fact_152_singletonD,axiom,
    ! [A: $tType,B2: A,A2: A] :
      ( ( member @ A @ B2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( B2 = A2 ) ) ).

% singletonD
thf(fact_153_finite_OinsertI,axiom,
    ! [A: $tType,A3: set @ A,A2: A] :
      ( ( finite_finite2 @ A @ A3 )
     => ( finite_finite2 @ A @ ( insert @ A @ A2 @ A3 ) ) ) ).

% finite.insertI
thf(fact_154_sum__product,axiom,
    ! [B: $tType,C: $tType,A: $tType] :
      ( ( semiring_0 @ B )
     => ! [F: A > B,A3: set @ A,G: C > B,B3: set @ C] :
          ( ( times_times @ B @ ( groups1340683514dd_sum @ A @ B @ F @ A3 ) @ ( groups1340683514dd_sum @ C @ B @ G @ B3 ) )
          = ( groups1340683514dd_sum @ A @ B
            @ ^ [I3: A] :
                ( groups1340683514dd_sum @ C @ B
                @ ^ [J: C] : ( times_times @ B @ ( F @ I3 ) @ ( G @ J ) )
                @ B3 )
            @ A3 ) ) ) ).

% sum_product
thf(fact_155_sum__distrib__left,axiom,
    ! [A: $tType,B: $tType] :
      ( ( semiring_0 @ A )
     => ! [R: A,F: B > A,A3: set @ B] :
          ( ( times_times @ A @ R @ ( groups1340683514dd_sum @ B @ A @ F @ A3 ) )
          = ( groups1340683514dd_sum @ B @ A
            @ ^ [N: B] : ( times_times @ A @ R @ ( F @ N ) )
            @ A3 ) ) ) ).

% sum_distrib_left
thf(fact_156_sum__distrib__right,axiom,
    ! [A: $tType,B: $tType] :
      ( ( semiring_0 @ A )
     => ! [F: B > A,A3: set @ B,R: A] :
          ( ( times_times @ A @ ( groups1340683514dd_sum @ B @ A @ F @ A3 ) @ R )
          = ( groups1340683514dd_sum @ B @ A
            @ ^ [N: B] : ( times_times @ A @ ( F @ N ) @ R )
            @ A3 ) ) ) ).

% sum_distrib_right
thf(fact_157_sum_Odistrib,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [G: B > A,H: B > A,A3: set @ B] :
          ( ( groups1340683514dd_sum @ B @ A
            @ ^ [X: B] : ( plus_plus @ A @ ( G @ X ) @ ( H @ X ) )
            @ A3 )
          = ( plus_plus @ A @ ( groups1340683514dd_sum @ B @ A @ G @ A3 ) @ ( groups1340683514dd_sum @ B @ A @ H @ A3 ) ) ) ) ).

% sum.distrib
thf(fact_158_Collect__conv__if2,axiom,
    ! [A: $tType,P: A > $o,A2: A] :
      ( ( ( P @ A2 )
       => ( ( collect @ A
            @ ^ [X: A] :
                ( ( A2 = X )
                & ( P @ X ) ) )
          = ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) )
      & ( ~ ( P @ A2 )
       => ( ( collect @ A
            @ ^ [X: A] :
                ( ( A2 = X )
                & ( P @ X ) ) )
          = ( bot_bot @ ( set @ A ) ) ) ) ) ).

% Collect_conv_if2
thf(fact_159_Collect__conv__if,axiom,
    ! [A: $tType,P: A > $o,A2: A] :
      ( ( ( P @ A2 )
       => ( ( collect @ A
            @ ^ [X: A] :
                ( ( X = A2 )
                & ( P @ X ) ) )
          = ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) )
      & ( ~ ( P @ A2 )
       => ( ( collect @ A
            @ ^ [X: A] :
                ( ( X = A2 )
                & ( P @ X ) ) )
          = ( bot_bot @ ( set @ A ) ) ) ) ) ).

% Collect_conv_if
thf(fact_160_sum__subtractf,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ab_group_add @ A )
     => ! [F: B > A,G: B > A,A3: set @ B] :
          ( ( groups1340683514dd_sum @ B @ A
            @ ^ [X: B] : ( minus_minus @ A @ ( F @ X ) @ ( G @ X ) )
            @ A3 )
          = ( minus_minus @ A @ ( groups1340683514dd_sum @ B @ A @ F @ A3 ) @ ( groups1340683514dd_sum @ B @ A @ G @ A3 ) ) ) ) ).

% sum_subtractf
thf(fact_161_sum_Oswap__restrict,axiom,
    ! [A: $tType,B: $tType,C: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A3: set @ B,B3: set @ C,G: B > C > A,R2: B > C > $o] :
          ( ( finite_finite2 @ B @ A3 )
         => ( ( finite_finite2 @ C @ B3 )
           => ( ( groups1340683514dd_sum @ B @ A
                @ ^ [X: B] :
                    ( groups1340683514dd_sum @ C @ A @ ( G @ X )
                    @ ( collect @ C
                      @ ^ [Y4: C] :
                          ( ( member @ C @ Y4 @ B3 )
                          & ( R2 @ X @ Y4 ) ) ) )
                @ A3 )
              = ( groups1340683514dd_sum @ C @ A
                @ ^ [Y4: C] :
                    ( groups1340683514dd_sum @ B @ A
                    @ ^ [X: B] : ( G @ X @ Y4 )
                    @ ( collect @ B
                      @ ^ [X: B] :
                          ( ( member @ B @ X @ A3 )
                          & ( R2 @ X @ Y4 ) ) ) )
                @ B3 ) ) ) ) ) ).

% sum.swap_restrict
thf(fact_162_infinite__finite__induct,axiom,
    ! [A: $tType,P: ( set @ A ) > $o,A3: set @ A] :
      ( ! [A7: set @ A] :
          ( ~ ( finite_finite2 @ A @ A7 )
         => ( P @ A7 ) )
     => ( ( P @ ( bot_bot @ ( set @ A ) ) )
       => ( ! [X3: A,F3: set @ A] :
              ( ( finite_finite2 @ A @ F3 )
             => ( ~ ( member @ A @ X3 @ F3 )
               => ( ( P @ F3 )
                 => ( P @ ( insert @ A @ X3 @ F3 ) ) ) ) )
         => ( P @ A3 ) ) ) ) ).

% infinite_finite_induct
thf(fact_163_finite__ne__induct,axiom,
    ! [A: $tType,F4: set @ A,P: ( set @ A ) > $o] :
      ( ( finite_finite2 @ A @ F4 )
     => ( ( F4
         != ( bot_bot @ ( set @ A ) ) )
       => ( ! [X3: A] : ( P @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
         => ( ! [X3: A,F3: set @ A] :
                ( ( finite_finite2 @ A @ F3 )
               => ( ( F3
                   != ( bot_bot @ ( set @ A ) ) )
                 => ( ~ ( member @ A @ X3 @ F3 )
                   => ( ( P @ F3 )
                     => ( P @ ( insert @ A @ X3 @ F3 ) ) ) ) ) )
           => ( P @ F4 ) ) ) ) ) ).

% finite_ne_induct
thf(fact_164_finite_Oinducts,axiom,
    ! [A: $tType,X2: set @ A,P: ( set @ A ) > $o] :
      ( ( finite_finite2 @ A @ X2 )
     => ( ( P @ ( bot_bot @ ( set @ A ) ) )
       => ( ! [A7: set @ A,A6: A] :
              ( ( finite_finite2 @ A @ A7 )
             => ( ( P @ A7 )
               => ( P @ ( insert @ A @ A6 @ A7 ) ) ) )
         => ( P @ X2 ) ) ) ) ).

% finite.inducts
thf(fact_165_finite__induct,axiom,
    ! [A: $tType,F4: set @ A,P: ( set @ A ) > $o] :
      ( ( finite_finite2 @ A @ F4 )
     => ( ( P @ ( bot_bot @ ( set @ A ) ) )
       => ( ! [X3: A,F3: set @ A] :
              ( ( finite_finite2 @ A @ F3 )
             => ( ~ ( member @ A @ X3 @ F3 )
               => ( ( P @ F3 )
                 => ( P @ ( insert @ A @ X3 @ F3 ) ) ) ) )
         => ( P @ F4 ) ) ) ) ).

% finite_induct
thf(fact_166_finite_Osimps,axiom,
    ! [A: $tType] :
      ( ( finite_finite2 @ A )
      = ( ^ [A4: set @ A] :
            ( ( A4
              = ( bot_bot @ ( set @ A ) ) )
            | ? [A5: set @ A,B5: A] :
                ( ( A4
                  = ( insert @ A @ B5 @ A5 ) )
                & ( finite_finite2 @ A @ A5 ) ) ) ) ) ).

% finite.simps
thf(fact_167_finite_Ocases,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( finite_finite2 @ A @ A2 )
     => ( ( A2
         != ( bot_bot @ ( set @ A ) ) )
       => ~ ! [A7: set @ A] :
              ( ? [A6: A] :
                  ( A2
                  = ( insert @ A @ A6 @ A7 ) )
             => ~ ( finite_finite2 @ A @ A7 ) ) ) ) ).

% finite.cases
thf(fact_168_prod_Ofinite__Collect__op,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_mult @ A )
     => ! [I4: set @ B,X2: B > A,Y: B > A] :
          ( ( finite_finite2 @ B
            @ ( collect @ B
              @ ^ [I3: B] :
                  ( ( member @ B @ I3 @ I4 )
                  & ( ( X2 @ I3 )
                   != ( one_one @ A ) ) ) ) )
         => ( ( finite_finite2 @ B
              @ ( collect @ B
                @ ^ [I3: B] :
                    ( ( member @ B @ I3 @ I4 )
                    & ( ( Y @ I3 )
                     != ( one_one @ A ) ) ) ) )
           => ( finite_finite2 @ B
              @ ( collect @ B
                @ ^ [I3: B] :
                    ( ( member @ B @ I3 @ I4 )
                    & ( ( times_times @ A @ ( X2 @ I3 ) @ ( Y @ I3 ) )
                     != ( one_one @ A ) ) ) ) ) ) ) ) ).

% prod.finite_Collect_op
thf(fact_169_sum_Oinsert__if,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A3: set @ B,X2: B,G: B > A] :
          ( ( finite_finite2 @ B @ A3 )
         => ( ( ( member @ B @ X2 @ A3 )
             => ( ( groups1340683514dd_sum @ B @ A @ G @ ( insert @ B @ X2 @ A3 ) )
                = ( groups1340683514dd_sum @ B @ A @ G @ A3 ) ) )
            & ( ~ ( member @ B @ X2 @ A3 )
             => ( ( groups1340683514dd_sum @ B @ A @ G @ ( insert @ B @ X2 @ A3 ) )
                = ( plus_plus @ A @ ( G @ X2 ) @ ( groups1340683514dd_sum @ B @ A @ G @ A3 ) ) ) ) ) ) ) ).

% sum.insert_if
thf(fact_170_convex__singleton,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [A2: A] : ( convex @ A @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% convex_singleton
thf(fact_171_real__divide__square__eq,axiom,
    ! [R: real,A2: real] :
      ( ( divide_divide @ real @ ( times_times @ real @ R @ A2 ) @ ( times_times @ real @ R @ R ) )
      = ( divide_divide @ real @ A2 @ R ) ) ).

% real_divide_square_eq
thf(fact_172_convex__empty,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( convex @ A @ ( bot_bot @ ( set @ A ) ) ) ) ).

% convex_empty
thf(fact_173_div__by__1,axiom,
    ! [A: $tType] :
      ( ( semidom_divide @ A )
     => ! [A2: A] :
          ( ( divide_divide @ A @ A2 @ ( one_one @ A ) )
          = A2 ) ) ).

% div_by_1
thf(fact_174_bits__div__by__1,axiom,
    ! [A: $tType] :
      ( ( semiring_bits @ A )
     => ! [A2: A] :
          ( ( divide_divide @ A @ A2 @ ( one_one @ A ) )
          = A2 ) ) ).

% bits_div_by_1
thf(fact_175_add__diff__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ B2 )
          = A2 ) ) ).

% add_diff_cancel
thf(fact_176_diff__add__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( plus_plus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ B2 )
          = A2 ) ) ).

% diff_add_cancel
thf(fact_177_add__right__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( ( plus_plus @ A @ B2 @ A2 )
            = ( plus_plus @ A @ C2 @ A2 ) )
          = ( B2 = C2 ) ) ) ).

% add_right_cancel
thf(fact_178_add__left__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( plus_plus @ A @ A2 @ B2 )
            = ( plus_plus @ A @ A2 @ C2 ) )
          = ( B2 = C2 ) ) ) ).

% add_left_cancel
thf(fact_179_mult_Oright__neutral,axiom,
    ! [A: $tType] :
      ( ( monoid_mult @ A )
     => ! [A2: A] :
          ( ( times_times @ A @ A2 @ ( one_one @ A ) )
          = A2 ) ) ).

% mult.right_neutral
thf(fact_180_mult_Oleft__neutral,axiom,
    ! [A: $tType] :
      ( ( monoid_mult @ A )
     => ! [A2: A] :
          ( ( times_times @ A @ ( one_one @ A ) @ A2 )
          = A2 ) ) ).

% mult.left_neutral
thf(fact_181_add__diff__cancel__right_H,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ B2 )
          = A2 ) ) ).

% add_diff_cancel_right'
thf(fact_182_add__diff__cancel__right,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,C2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ A2 @ B2 ) ) ) ).

% add_diff_cancel_right
thf(fact_183_add__diff__cancel__left_H,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ A2 )
          = B2 ) ) ).

% add_diff_cancel_left'
thf(fact_184_add__diff__cancel__left,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [C2: A,A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) )
          = ( minus_minus @ A @ A2 @ B2 ) ) ) ).

% add_diff_cancel_left
thf(fact_185_mult_Oleft__commute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_mult @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( times_times @ A @ B2 @ ( times_times @ A @ A2 @ C2 ) )
          = ( times_times @ A @ A2 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% mult.left_commute
thf(fact_186_mult_Ocommute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_mult @ A )
     => ( ( times_times @ A )
        = ( ^ [A4: A,B5: A] : ( times_times @ A @ B5 @ A4 ) ) ) ) ).

% mult.commute
thf(fact_187_mult_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semigroup_mult @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ ( times_times @ A @ A2 @ B2 ) @ C2 )
          = ( times_times @ A @ A2 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% mult.assoc
thf(fact_188_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_mult @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ ( times_times @ A @ A2 @ B2 ) @ C2 )
          = ( times_times @ A @ A2 @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_189_add__right__imp__eq,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( ( plus_plus @ A @ B2 @ A2 )
            = ( plus_plus @ A @ C2 @ A2 ) )
         => ( B2 = C2 ) ) ) ).

% add_right_imp_eq
thf(fact_190_add__left__imp__eq,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( plus_plus @ A @ A2 @ B2 )
            = ( plus_plus @ A @ A2 @ C2 ) )
         => ( B2 = C2 ) ) ) ).

% add_left_imp_eq
thf(fact_191_add_Oleft__commute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( plus_plus @ A @ B2 @ ( plus_plus @ A @ A2 @ C2 ) )
          = ( plus_plus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% add.left_commute
thf(fact_192_add_Ocommute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ( ( plus_plus @ A )
        = ( ^ [A4: A,B5: A] : ( plus_plus @ A @ B5 @ A4 ) ) ) ) ).

% add.commute
thf(fact_193_add_Oright__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( ( plus_plus @ A @ B2 @ A2 )
            = ( plus_plus @ A @ C2 @ A2 ) )
          = ( B2 = C2 ) ) ) ).

% add.right_cancel
thf(fact_194_add_Oleft__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( plus_plus @ A @ A2 @ B2 )
            = ( plus_plus @ A @ A2 @ C2 ) )
          = ( B2 = C2 ) ) ) ).

% add.left_cancel
thf(fact_195_add_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% add.assoc
thf(fact_196_group__cancel_Oadd2,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [B3: A,K: A,B2: A,A2: A] :
          ( ( B3
            = ( plus_plus @ A @ K @ B2 ) )
         => ( ( plus_plus @ A @ A2 @ B3 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A2 @ B2 ) ) ) ) ) ).

% group_cancel.add2
thf(fact_197_group__cancel_Oadd1,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A3: A,K: A,A2: A,B2: A] :
          ( ( A3
            = ( plus_plus @ A @ K @ A2 ) )
         => ( ( plus_plus @ A @ A3 @ B2 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A2 @ B2 ) ) ) ) ) ).

% group_cancel.add1
thf(fact_198_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [I2: A,J2: A,K: A,L: A] :
          ( ( ( I2 = J2 )
            & ( K = L ) )
         => ( ( plus_plus @ A @ I2 @ K )
            = ( plus_plus @ A @ J2 @ L ) ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_199_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_200_cancel__ab__semigroup__add__class_Odiff__right__commute,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,C2: A,B2: A] :
          ( ( minus_minus @ A @ ( minus_minus @ A @ A2 @ C2 ) @ B2 )
          = ( minus_minus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 ) ) ) ).

% cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_201_diff__eq__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A,D: A] :
          ( ( ( minus_minus @ A @ A2 @ B2 )
            = ( minus_minus @ A @ C2 @ D ) )
         => ( ( A2 = B2 )
            = ( C2 = D ) ) ) ) ).

% diff_eq_diff_eq
thf(fact_202_one__reorient,axiom,
    ! [A: $tType] :
      ( ( one @ A )
     => ! [X2: A] :
          ( ( ( one_one @ A )
            = X2 )
          = ( X2
            = ( one_one @ A ) ) ) ) ).

% one_reorient
thf(fact_203_convex__set__plus,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [S: set @ A,T: set @ A] :
          ( ( convex @ A @ S )
         => ( ( convex @ A @ T )
           => ( convex @ A @ ( plus_plus @ ( set @ A ) @ S @ T ) ) ) ) ) ).

% convex_set_plus
thf(fact_204_finite__set__sum,axiom,
    ! [B: $tType,A: $tType] :
      ( ( comm_monoid_add @ B )
     => ! [A3: set @ A,B3: A > ( set @ B )] :
          ( ( finite_finite2 @ A @ A3 )
         => ( ! [X3: A] :
                ( ( member @ A @ X3 @ A3 )
               => ( finite_finite2 @ B @ ( B3 @ X3 ) ) )
           => ( finite_finite2 @ B @ ( groups1340683514dd_sum @ A @ ( set @ B ) @ B3 @ A3 ) ) ) ) ) ).

% finite_set_sum
thf(fact_205_convex__set__sum,axiom,
    ! [B: $tType,A: $tType] :
      ( ( real_V1076094709vector @ B )
     => ! [A3: set @ A,B3: A > ( set @ B )] :
          ( ! [I5: A] :
              ( ( member @ A @ I5 @ A3 )
             => ( convex @ B @ ( B3 @ I5 ) ) )
         => ( convex @ B @ ( groups1340683514dd_sum @ A @ ( set @ B ) @ B3 @ A3 ) ) ) ) ).

% convex_set_sum
thf(fact_206_combine__common__factor,axiom,
    ! [A: $tType] :
      ( ( semiring @ A )
     => ! [A2: A,E: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ ( times_times @ A @ A2 @ E ) @ ( plus_plus @ A @ ( times_times @ A @ B2 @ E ) @ C2 ) )
          = ( plus_plus @ A @ ( times_times @ A @ ( plus_plus @ A @ A2 @ B2 ) @ E ) @ C2 ) ) ) ).

% combine_common_factor
thf(fact_207_distrib__right,axiom,
    ! [A: $tType] :
      ( ( semiring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ ( times_times @ A @ A2 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% distrib_right
thf(fact_208_distrib__left,axiom,
    ! [A: $tType] :
      ( ( semiring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) )
          = ( plus_plus @ A @ ( times_times @ A @ A2 @ B2 ) @ ( times_times @ A @ A2 @ C2 ) ) ) ) ).

% distrib_left
thf(fact_209_comm__semiring__class_Odistrib,axiom,
    ! [A: $tType] :
      ( ( comm_semiring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ ( times_times @ A @ A2 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% comm_semiring_class.distrib
thf(fact_210_ring__class_Oring__distribs_I1_J,axiom,
    ! [A: $tType] :
      ( ( ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) )
          = ( plus_plus @ A @ ( times_times @ A @ A2 @ B2 ) @ ( times_times @ A @ A2 @ C2 ) ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_211_ring__class_Oring__distribs_I2_J,axiom,
    ! [A: $tType] :
      ( ( ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ ( times_times @ A @ A2 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_212_right__diff__distrib_H,axiom,
    ! [A: $tType] :
      ( ( comm_s1003936772cancel @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ A2 @ ( minus_minus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( times_times @ A @ A2 @ B2 ) @ ( times_times @ A @ A2 @ C2 ) ) ) ) ).

% right_diff_distrib'
thf(fact_213_left__diff__distrib_H,axiom,
    ! [A: $tType] :
      ( ( comm_s1003936772cancel @ A )
     => ! [B2: A,C2: A,A2: A] :
          ( ( times_times @ A @ ( minus_minus @ A @ B2 @ C2 ) @ A2 )
          = ( minus_minus @ A @ ( times_times @ A @ B2 @ A2 ) @ ( times_times @ A @ C2 @ A2 ) ) ) ) ).

% left_diff_distrib'
thf(fact_214_right__diff__distrib,axiom,
    ! [A: $tType] :
      ( ( ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ A2 @ ( minus_minus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( times_times @ A @ A2 @ B2 ) @ ( times_times @ A @ A2 @ C2 ) ) ) ) ).

% right_diff_distrib
thf(fact_215_left__diff__distrib,axiom,
    ! [A: $tType] :
      ( ( ring @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( times_times @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
          = ( minus_minus @ A @ ( times_times @ A @ A2 @ C2 ) @ ( times_times @ A @ B2 @ C2 ) ) ) ) ).

% left_diff_distrib
thf(fact_216_mult_Ocomm__neutral,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_mult @ A )
     => ! [A2: A] :
          ( ( times_times @ A @ A2 @ ( one_one @ A ) )
          = A2 ) ) ).

% mult.comm_neutral
thf(fact_217_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_mult @ A )
     => ! [A2: A] :
          ( ( times_times @ A @ ( one_one @ A ) @ A2 )
          = A2 ) ) ).

% comm_monoid_mult_class.mult_1
thf(fact_218_add__implies__diff,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [C2: A,B2: A,A2: A] :
          ( ( ( plus_plus @ A @ C2 @ B2 )
            = A2 )
         => ( C2
            = ( minus_minus @ A @ A2 @ B2 ) ) ) ) ).

% add_implies_diff
thf(fact_219_diff__diff__add,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( minus_minus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
          = ( minus_minus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% diff_diff_add
thf(fact_220_diff__add__eq__diff__diff__swap,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( minus_minus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( minus_minus @ A @ A2 @ C2 ) @ B2 ) ) ) ).

% diff_add_eq_diff_diff_swap
thf(fact_221_diff__add__eq,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
          = ( minus_minus @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ).

% diff_add_eq
thf(fact_222_diff__diff__eq2,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( minus_minus @ A @ A2 @ ( minus_minus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ).

% diff_diff_eq2
thf(fact_223_add__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ A2 @ ( minus_minus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 ) ) ) ).

% add_diff_eq
thf(fact_224_eq__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,C2: A,B2: A] :
          ( ( A2
            = ( minus_minus @ A @ C2 @ B2 ) )
          = ( ( plus_plus @ A @ A2 @ B2 )
            = C2 ) ) ) ).

% eq_diff_eq
thf(fact_225_diff__eq__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( minus_minus @ A @ A2 @ B2 )
            = C2 )
          = ( A2
            = ( plus_plus @ A @ C2 @ B2 ) ) ) ) ).

% diff_eq_eq
thf(fact_226_group__cancel_Osub1,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [A3: A,K: A,A2: A,B2: A] :
          ( ( A3
            = ( plus_plus @ A @ K @ A2 ) )
         => ( ( minus_minus @ A @ A3 @ B2 )
            = ( plus_plus @ A @ K @ ( minus_minus @ A @ A2 @ B2 ) ) ) ) ) ).

% group_cancel.sub1
thf(fact_227_lambda__one,axiom,
    ! [A: $tType] :
      ( ( monoid_mult @ A )
     => ( ( ^ [X: A] : X )
        = ( times_times @ A @ ( one_one @ A ) ) ) ) ).

% lambda_one
thf(fact_228_square__diff__square__factored,axiom,
    ! [A: $tType] :
      ( ( comm_ring @ A )
     => ! [X2: A,Y: A] :
          ( ( minus_minus @ A @ ( times_times @ A @ X2 @ X2 ) @ ( times_times @ A @ Y @ Y ) )
          = ( times_times @ A @ ( plus_plus @ A @ X2 @ Y ) @ ( minus_minus @ A @ X2 @ Y ) ) ) ) ).

% square_diff_square_factored
thf(fact_229_eq__add__iff2,axiom,
    ! [A: $tType] :
      ( ( ring @ A )
     => ! [A2: A,E: A,C2: A,B2: A,D: A] :
          ( ( ( plus_plus @ A @ ( times_times @ A @ A2 @ E ) @ C2 )
            = ( plus_plus @ A @ ( times_times @ A @ B2 @ E ) @ D ) )
          = ( C2
            = ( plus_plus @ A @ ( times_times @ A @ ( minus_minus @ A @ B2 @ A2 ) @ E ) @ D ) ) ) ) ).

% eq_add_iff2
thf(fact_230_eq__add__iff1,axiom,
    ! [A: $tType] :
      ( ( ring @ A )
     => ! [A2: A,E: A,C2: A,B2: A,D: A] :
          ( ( ( plus_plus @ A @ ( times_times @ A @ A2 @ E ) @ C2 )
            = ( plus_plus @ A @ ( times_times @ A @ B2 @ E ) @ D ) )
          = ( ( plus_plus @ A @ ( times_times @ A @ ( minus_minus @ A @ A2 @ B2 ) @ E ) @ C2 )
            = D ) ) ) ).

% eq_add_iff1
thf(fact_231_square__diff__one__factored,axiom,
    ! [A: $tType] :
      ( ( ring_1 @ A )
     => ! [X2: A] :
          ( ( minus_minus @ A @ ( times_times @ A @ X2 @ X2 ) @ ( one_one @ A ) )
          = ( times_times @ A @ ( plus_plus @ A @ X2 @ ( one_one @ A ) ) @ ( minus_minus @ A @ X2 @ ( one_one @ A ) ) ) ) ) ).

% square_diff_one_factored
thf(fact_232_minus__apply,axiom,
    ! [B: $tType,A: $tType] :
      ( ( minus @ B )
     => ( ( minus_minus @ ( A > B ) )
        = ( ^ [A5: A > B,B4: A > B,X: A] : ( minus_minus @ B @ ( A5 @ X ) @ ( B4 @ X ) ) ) ) ) ).

% minus_apply
thf(fact_233_vector__space__over__itself_Oscale__one,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [X2: A] :
          ( ( times_times @ A @ ( one_one @ A ) @ X2 )
          = X2 ) ) ).

% vector_space_over_itself.scale_one
thf(fact_234_segment__degen__1,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [U: real,A2: A,B2: A] :
          ( ( ( plus_plus @ A @ ( real_V1908273582scaleR @ A @ ( minus_minus @ real @ ( one_one @ real ) @ U ) @ A2 ) @ ( real_V1908273582scaleR @ A @ U @ B2 ) )
            = B2 )
          = ( ( A2 = B2 )
            | ( U
              = ( one_one @ real ) ) ) ) ) ).

% segment_degen_1
thf(fact_235_vector__space__over__itself_Oscale__scale,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A,X2: A] :
          ( ( times_times @ A @ A2 @ ( times_times @ A @ B2 @ X2 ) )
          = ( times_times @ A @ ( times_times @ A @ A2 @ B2 ) @ X2 ) ) ) ).

% vector_space_over_itself.scale_scale
thf(fact_236_vector__space__over__itself_Oscale__left__commute,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A,X2: A] :
          ( ( times_times @ A @ A2 @ ( times_times @ A @ B2 @ X2 ) )
          = ( times_times @ A @ B2 @ ( times_times @ A @ A2 @ X2 ) ) ) ) ).

% vector_space_over_itself.scale_left_commute
thf(fact_237_vector__space__over__itself_Oscale__left__distrib,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A,X2: A] :
          ( ( times_times @ A @ ( plus_plus @ A @ A2 @ B2 ) @ X2 )
          = ( plus_plus @ A @ ( times_times @ A @ A2 @ X2 ) @ ( times_times @ A @ B2 @ X2 ) ) ) ) ).

% vector_space_over_itself.scale_left_distrib
thf(fact_238_vector__space__over__itself_Oscale__right__distrib,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,X2: A,Y: A] :
          ( ( times_times @ A @ A2 @ ( plus_plus @ A @ X2 @ Y ) )
          = ( plus_plus @ A @ ( times_times @ A @ A2 @ X2 ) @ ( times_times @ A @ A2 @ Y ) ) ) ) ).

% vector_space_over_itself.scale_right_distrib
thf(fact_239_vector__space__over__itself_Oscale__left__diff__distrib,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,B2: A,X2: A] :
          ( ( times_times @ A @ ( minus_minus @ A @ A2 @ B2 ) @ X2 )
          = ( minus_minus @ A @ ( times_times @ A @ A2 @ X2 ) @ ( times_times @ A @ B2 @ X2 ) ) ) ) ).

% vector_space_over_itself.scale_left_diff_distrib
thf(fact_240_vector__space__over__itself_Oscale__right__diff__distrib,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ! [A2: A,X2: A,Y: A] :
          ( ( times_times @ A @ A2 @ ( minus_minus @ A @ X2 @ Y ) )
          = ( minus_minus @ A @ ( times_times @ A @ A2 @ X2 ) @ ( times_times @ A @ A2 @ Y ) ) ) ) ).

% vector_space_over_itself.scale_right_diff_distrib
thf(fact_241_add__scaleR__degen,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ! [U: real,B2: A,V2: real,A2: A] :
          ( ( ( plus_plus @ A @ ( real_V1908273582scaleR @ A @ U @ B2 ) @ ( real_V1908273582scaleR @ A @ V2 @ A2 ) )
            = ( plus_plus @ A @ ( real_V1908273582scaleR @ A @ U @ A2 ) @ ( real_V1908273582scaleR @ A @ V2 @ B2 ) ) )
         => ( ( U != V2 )
           => ( A2 = B2 ) ) ) ) ).

% add_scaleR_degen
thf(fact_242_vector__space__over__itself_Oscale__sum__left,axiom,
    ! [A: $tType,C: $tType] :
      ( ( field @ A )
     => ! [F: C > A,A3: set @ C,X2: A] :
          ( ( times_times @ A @ ( groups1340683514dd_sum @ C @ A @ F @ A3 ) @ X2 )
          = ( groups1340683514dd_sum @ C @ A
            @ ^ [A4: C] : ( times_times @ A @ ( F @ A4 ) @ X2 )
            @ A3 ) ) ) ).

% vector_space_over_itself.scale_sum_left
thf(fact_243_vector__space__over__itself_Oscale__sum__right,axiom,
    ! [A: $tType,C: $tType] :
      ( ( field @ A )
     => ! [A2: A,F: C > A,A3: set @ C] :
          ( ( times_times @ A @ A2 @ ( groups1340683514dd_sum @ C @ A @ F @ A3 ) )
          = ( groups1340683514dd_sum @ C @ A
            @ ^ [X: C] : ( times_times @ A @ A2 @ ( F @ X ) )
            @ A3 ) ) ) ).

% vector_space_over_itself.scale_sum_right
thf(fact_244_fun__diff__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( minus @ B )
     => ( ( minus_minus @ ( A > B ) )
        = ( ^ [A5: A > B,B4: A > B,X: A] : ( minus_minus @ B @ ( A5 @ X ) @ ( B4 @ X ) ) ) ) ) ).

% fun_diff_def
thf(fact_245_vector__space__over__itself_Ofinite__Basis,axiom,
    ! [A: $tType] :
      ( ( field @ A )
     => ( finite_finite2 @ A @ ( insert @ A @ ( one_one @ A ) @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% vector_space_over_itself.finite_Basis
thf(fact_246_set__plus__intro,axiom,
    ! [A: $tType] :
      ( ( plus @ A )
     => ! [A2: A,C4: set @ A,B2: A,D2: set @ A] :
          ( ( member @ A @ A2 @ C4 )
         => ( ( member @ A @ B2 @ D2 )
           => ( member @ A @ ( plus_plus @ A @ A2 @ B2 ) @ ( plus_plus @ ( set @ A ) @ C4 @ D2 ) ) ) ) ) ).

% set_plus_intro
thf(fact_247_sum__clauses_I2_J,axiom,
    ! [A: $tType,B: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [S: set @ B,X2: B,F: B > A] :
          ( ( finite_finite2 @ B @ S )
         => ( ( ( member @ B @ X2 @ S )
             => ( ( groups1340683514dd_sum @ B @ A @ F @ ( insert @ B @ X2 @ S ) )
                = ( groups1340683514dd_sum @ B @ A @ F @ S ) ) )
            & ( ~ ( member @ B @ X2 @ S )
             => ( ( groups1340683514dd_sum @ B @ A @ F @ ( insert @ B @ X2 @ S ) )
                = ( plus_plus @ A @ ( F @ X2 ) @ ( groups1340683514dd_sum @ B @ A @ F @ S ) ) ) ) ) ) ) ).

% sum_clauses(2)
thf(fact_248_set__times__intro,axiom,
    ! [A: $tType] :
      ( ( times @ A )
     => ! [A2: A,C4: set @ A,B2: A,D2: set @ A] :
          ( ( member @ A @ A2 @ C4 )
         => ( ( member @ A @ B2 @ D2 )
           => ( member @ A @ ( times_times @ A @ A2 @ B2 ) @ ( times_times @ ( set @ A ) @ C4 @ D2 ) ) ) ) ) ).

% set_times_intro
thf(fact_249_set__times__elim,axiom,
    ! [A: $tType] :
      ( ( times @ A )
     => ! [X2: A,A3: set @ A,B3: set @ A] :
          ( ( member @ A @ X2 @ ( times_times @ ( set @ A ) @ A3 @ B3 ) )
         => ~ ! [A6: A,B7: A] :
                ( ( X2
                  = ( times_times @ A @ A6 @ B7 ) )
               => ( ( member @ A @ A6 @ A3 )
                 => ~ ( member @ A @ B7 @ B3 ) ) ) ) ) ).

% set_times_elim
thf(fact_250_finite__set__times,axiom,
    ! [A: $tType] :
      ( ( times @ A )
     => ! [S2: set @ A,T2: set @ A] :
          ( ( finite_finite2 @ A @ S2 )
         => ( ( finite_finite2 @ A @ T2 )
           => ( finite_finite2 @ A @ ( times_times @ ( set @ A ) @ S2 @ T2 ) ) ) ) ) ).

% finite_set_times
thf(fact_251_set__plus__elim,axiom,
    ! [A: $tType] :
      ( ( plus @ A )
     => ! [X2: A,A3: set @ A,B3: set @ A] :
          ( ( member @ A @ X2 @ ( plus_plus @ ( set @ A ) @ A3 @ B3 ) )
         => ~ ! [A6: A,B7: A] :
                ( ( X2
                  = ( plus_plus @ A @ A6 @ B7 ) )
               => ( ( member @ A @ A6 @ A3 )
                 => ~ ( member @ A @ B7 @ B3 ) ) ) ) ) ).

% set_plus_elim
thf(fact_252_finite__set__plus,axiom,
    ! [A: $tType] :
      ( ( plus @ A )
     => ! [S2: set @ A,T2: set @ A] :
          ( ( finite_finite2 @ A @ S2 )
         => ( ( finite_finite2 @ A @ T2 )
           => ( finite_finite2 @ A @ ( plus_plus @ ( set @ A ) @ S2 @ T2 ) ) ) ) ) ).

% finite_set_plus
thf(fact_253_set__one,axiom,
    ! [A: $tType] :
      ( ( one @ A )
     => ( ( one_one @ ( set @ A ) )
        = ( insert @ A @ ( one_one @ A ) @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% set_one
thf(fact_254_ai1,axiom,
    ord_less_eq @ real @ ( aa @ i ) @ ( one_one @ real ) ).

% ai1

% Subclasses (12)
thf(subcl_Real__Vector__Spaces_Oreal__vector___HOL_Otype,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( type @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Oplus,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( plus @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Ominus,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( minus @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Ogroup__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( group_add @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Oab__group__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( ab_group_add @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Osemigroup__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( semigroup_add @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Ocomm__monoid__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( comm_monoid_add @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Oab__semigroup__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( ab_semigroup_add @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Real__Vector__Spaces_OscaleR,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( real_Vector_scaleR @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Ocancel__semigroup__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( cancel_semigroup_add @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Ocancel__comm__monoid__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( cancel1352612707id_add @ A ) ) ).

thf(subcl_Real__Vector__Spaces_Oreal__vector___Groups_Ocancel__ab__semigroup__add,axiom,
    ! [A: $tType] :
      ( ( real_V1076094709vector @ A )
     => ( cancel146912293up_add @ A ) ) ).

% Type constructors (80)
thf(tcon_fun___Finite__Set_Ofinite,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( ( finite_finite @ A8 )
        & ( finite_finite @ A9 ) )
     => ( finite_finite @ ( A8 > A9 ) ) ) ).

thf(tcon_fun___Groups_Ominus,axiom,
    ! [A8: $tType,A9: $tType] :
      ( ( minus @ A9 )
     => ( minus @ ( A8 > A9 ) ) ) ).

thf(tcon_Nat_Onat___Groups_Oordered__ab__semigroup__add,axiom,
    ordere779506340up_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__ab__semigroup__add,axiom,
    cancel146912293up_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add,axiom,
    cancel1352612707id_add @ nat ).

thf(tcon_Nat_Onat___Rings_Ocomm__semiring__1__cancel,axiom,
    comm_s1003936772cancel @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__semigroup__add,axiom,
    cancel_semigroup_add @ nat ).

thf(tcon_Nat_Onat___Groups_Oab__semigroup__mult,axiom,
    ab_semigroup_mult @ nat ).

thf(tcon_Nat_Onat___Groups_Ocomm__monoid__mult,axiom,
    comm_monoid_mult @ nat ).

thf(tcon_Nat_Onat___Groups_Oab__semigroup__add,axiom,
    ab_semigroup_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocomm__monoid__add,axiom,
    comm_monoid_add @ nat ).

thf(tcon_Nat_Onat___Groups_Osemigroup__mult,axiom,
    semigroup_mult @ nat ).

thf(tcon_Nat_Onat___Rings_Osemidom__divide,axiom,
    semidom_divide @ nat ).

thf(tcon_Nat_Onat___Parity_Osemiring__bits,axiom,
    semiring_bits @ nat ).

thf(tcon_Nat_Onat___Groups_Osemigroup__add,axiom,
    semigroup_add @ nat ).

thf(tcon_Nat_Onat___Rings_Ocomm__semiring,axiom,
    comm_semiring @ nat ).

thf(tcon_Nat_Onat___Groups_Omonoid__mult,axiom,
    monoid_mult @ nat ).

thf(tcon_Nat_Onat___Rings_Osemiring__0,axiom,
    semiring_0 @ nat ).

thf(tcon_Nat_Onat___Rings_Osemiring,axiom,
    semiring @ nat ).

thf(tcon_Nat_Onat___Groups_Otimes,axiom,
    times @ nat ).

thf(tcon_Nat_Onat___Groups_Ominus_1,axiom,
    minus @ nat ).

thf(tcon_Nat_Onat___Groups_Oplus,axiom,
    plus @ nat ).

thf(tcon_Nat_Onat___Groups_Oone,axiom,
    one @ nat ).

thf(tcon_Set_Oset___Groups_Oab__semigroup__mult_2,axiom,
    ! [A8: $tType] :
      ( ( ab_semigroup_mult @ A8 )
     => ( ab_semigroup_mult @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Ocomm__monoid__mult_3,axiom,
    ! [A8: $tType] :
      ( ( comm_monoid_mult @ A8 )
     => ( comm_monoid_mult @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Oab__semigroup__add_4,axiom,
    ! [A8: $tType] :
      ( ( ab_semigroup_add @ A8 )
     => ( ab_semigroup_add @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Ocomm__monoid__add_5,axiom,
    ! [A8: $tType] :
      ( ( comm_monoid_add @ A8 )
     => ( comm_monoid_add @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Osemigroup__mult_6,axiom,
    ! [A8: $tType] :
      ( ( semigroup_mult @ A8 )
     => ( semigroup_mult @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Osemigroup__add_7,axiom,
    ! [A8: $tType] :
      ( ( semigroup_add @ A8 )
     => ( semigroup_add @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Omonoid__mult_8,axiom,
    ! [A8: $tType] :
      ( ( monoid_mult @ A8 )
     => ( monoid_mult @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Finite__Set_Ofinite_9,axiom,
    ! [A8: $tType] :
      ( ( finite_finite @ A8 )
     => ( finite_finite @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Otimes_10,axiom,
    ! [A8: $tType] :
      ( ( times @ A8 )
     => ( times @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Ominus_11,axiom,
    ! [A8: $tType] : ( minus @ ( set @ A8 ) ) ).

thf(tcon_Set_Oset___Groups_Oplus_12,axiom,
    ! [A8: $tType] :
      ( ( plus @ A8 )
     => ( plus @ ( set @ A8 ) ) ) ).

thf(tcon_Set_Oset___Groups_Oone_13,axiom,
    ! [A8: $tType] :
      ( ( one @ A8 )
     => ( one @ ( set @ A8 ) ) ) ).

thf(tcon_HOL_Obool___Finite__Set_Ofinite_14,axiom,
    finite_finite @ $o ).

thf(tcon_HOL_Obool___Groups_Ominus_15,axiom,
    minus @ $o ).

thf(tcon_Real_Oreal___Real__Vector__Spaces_Oreal__div__algebra,axiom,
    real_V1015715145lgebra @ real ).

thf(tcon_Real_Oreal___Real__Vector__Spaces_Oreal__algebra,axiom,
    real_V148923926lgebra @ real ).

thf(tcon_Real_Oreal___Groups_Oordered__ab__semigroup__add_16,axiom,
    ordere779506340up_add @ real ).

thf(tcon_Real_Oreal___Real__Vector__Spaces_Oreal__vector,axiom,
    real_V1076094709vector @ real ).

thf(tcon_Real_Oreal___Groups_Ocancel__ab__semigroup__add_17,axiom,
    cancel146912293up_add @ real ).

thf(tcon_Real_Oreal___Groups_Ocancel__comm__monoid__add_18,axiom,
    cancel1352612707id_add @ real ).

thf(tcon_Real_Oreal___Rings_Ocomm__semiring__1__cancel_19,axiom,
    comm_s1003936772cancel @ real ).

thf(tcon_Real_Oreal___Groups_Ocancel__semigroup__add_20,axiom,
    cancel_semigroup_add @ real ).

thf(tcon_Real_Oreal___Real__Vector__Spaces_OscaleR,axiom,
    real_Vector_scaleR @ real ).

thf(tcon_Real_Oreal___Groups_Oab__semigroup__mult_21,axiom,
    ab_semigroup_mult @ real ).

thf(tcon_Real_Oreal___Groups_Ocomm__monoid__mult_22,axiom,
    comm_monoid_mult @ real ).

thf(tcon_Real_Oreal___Groups_Oab__semigroup__add_23,axiom,
    ab_semigroup_add @ real ).

thf(tcon_Real_Oreal___Groups_Ocomm__monoid__add_24,axiom,
    comm_monoid_add @ real ).

thf(tcon_Real_Oreal___Groups_Osemigroup__mult_25,axiom,
    semigroup_mult @ real ).

thf(tcon_Real_Oreal___Rings_Osemidom__divide_26,axiom,
    semidom_divide @ real ).

thf(tcon_Real_Oreal___Groups_Osemigroup__add_27,axiom,
    semigroup_add @ real ).

thf(tcon_Real_Oreal___Fields_Odivision__ring,axiom,
    division_ring @ real ).

thf(tcon_Real_Oreal___Rings_Ocomm__semiring_28,axiom,
    comm_semiring @ real ).

thf(tcon_Real_Oreal___Groups_Oab__group__add,axiom,
    ab_group_add @ real ).

thf(tcon_Real_Oreal___Groups_Omonoid__mult_29,axiom,
    monoid_mult @ real ).

thf(tcon_Real_Oreal___Rings_Osemiring__0_30,axiom,
    semiring_0 @ real ).

thf(tcon_Real_Oreal___Groups_Ogroup__add,axiom,
    group_add @ real ).

thf(tcon_Real_Oreal___Rings_Ocomm__ring,axiom,
    comm_ring @ real ).

thf(tcon_Real_Oreal___Rings_Osemiring_31,axiom,
    semiring @ real ).

thf(tcon_Real_Oreal___Rings_Oring__1,axiom,
    ring_1 @ real ).

thf(tcon_Real_Oreal___Groups_Otimes_32,axiom,
    times @ real ).

thf(tcon_Real_Oreal___Groups_Ominus_33,axiom,
    minus @ real ).

thf(tcon_Real_Oreal___Fields_Ofield,axiom,
    field @ real ).

thf(tcon_Real_Oreal___Groups_Oplus_34,axiom,
    plus @ real ).

thf(tcon_Real_Oreal___Rings_Oring,axiom,
    ring @ real ).

thf(tcon_Real_Oreal___Groups_Oone_35,axiom,
    one @ real ).

thf(tcon_Extended__Real_Oereal___Groups_Oordered__ab__semigroup__add_36,axiom,
    ordere779506340up_add @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Oab__semigroup__mult_37,axiom,
    ab_semigroup_mult @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Ocomm__monoid__mult_38,axiom,
    comm_monoid_mult @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Oab__semigroup__add_39,axiom,
    ab_semigroup_add @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Ocomm__monoid__add_40,axiom,
    comm_monoid_add @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Osemigroup__mult_41,axiom,
    semigroup_mult @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Osemigroup__add_42,axiom,
    semigroup_add @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Omonoid__mult_43,axiom,
    monoid_mult @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Otimes_44,axiom,
    times @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Ominus_45,axiom,
    minus @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Oplus_46,axiom,
    plus @ extended_ereal ).

thf(tcon_Extended__Real_Oereal___Groups_Oone_47,axiom,
    one @ extended_ereal ).

% Helper facts (3)
thf(help_If_3_1_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_T,axiom,
    ! [A: $tType,X2: A,Y: A] :
      ( ( if @ A @ $false @ X2 @ Y )
      = Y ) ).

thf(help_If_1_1_T,axiom,
    ! [A: $tType,X2: A,Y: A] :
      ( ( if @ A @ $true @ X2 @ Y )
      = X2 ) ).

% Free types (1)
thf(tfree_0,hypothesis,
    real_V1076094709vector @ b ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( f
      @ ( plus_plus @ b
        @ ( real_V1908273582scaleR @ b @ ( times_times @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) @ ( inverse_inverse @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) ) )
          @ ( groups1340683514dd_sum @ a @ b
            @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( aa @ J ) @ ( y @ J ) )
            @ sa ) )
        @ ( real_V1908273582scaleR @ b @ ( aa @ i ) @ ( y @ i ) ) ) )
    = ( f
      @ ( plus_plus @ b
        @ ( real_V1908273582scaleR @ b @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) )
          @ ( groups1340683514dd_sum @ a @ b
            @ ^ [J: a] : ( real_V1908273582scaleR @ b @ ( times_times @ real @ ( aa @ J ) @ ( inverse_inverse @ real @ ( minus_minus @ real @ ( one_one @ real ) @ ( aa @ i ) ) ) ) @ ( y @ J ) )
            @ sa ) )
        @ ( real_V1908273582scaleR @ b @ ( aa @ i ) @ ( y @ i ) ) ) ) ) ).

%------------------------------------------------------------------------------